@lssm/example.agent-console 0.0.0-canary-20251215234340 → 0.0.0-canary-20251216024228

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 (100) hide show
  1. package/.turbo/turbo-build.log +38 -28
  2. package/CHANGELOG.md +6 -6
  3. package/dist/agent/agent.contracts.js +1 -0
  4. package/dist/{entities/agent.js → agent/agent.entity.js} +1 -1
  5. package/dist/agent/agent.enum.js +1 -0
  6. package/dist/agent/agent.event.js +1 -0
  7. package/dist/agent/agent.handler.js +1 -0
  8. package/dist/agent/agent.presentation.js +1 -0
  9. package/dist/agent/agent.schema.js +1 -0
  10. package/dist/agent/index.js +1 -0
  11. package/dist/handlers/index.js +1 -1
  12. package/dist/index.js +1 -1
  13. package/dist/presentations/index.js +1 -1
  14. package/dist/run/index.js +1 -0
  15. package/dist/run/run.contracts.js +1 -0
  16. package/dist/run/run.entity.js +1 -0
  17. package/dist/run/run.enum.js +1 -0
  18. package/dist/run/run.event.js +1 -0
  19. package/dist/run/run.handler.js +1 -0
  20. package/dist/run/run.presentation.js +1 -0
  21. package/dist/run/run.schema.js +1 -0
  22. package/dist/shared/index.js +1 -0
  23. package/dist/shared/mock-agents.js +1 -0
  24. package/dist/shared/mock-runs.js +1 -0
  25. package/dist/shared/mock-tools.js +1 -0
  26. package/dist/tool/index.js +1 -0
  27. package/dist/tool/tool.contracts.js +1 -0
  28. package/dist/tool/tool.entity.js +1 -0
  29. package/dist/tool/tool.enum.js +1 -0
  30. package/dist/tool/tool.event.js +1 -0
  31. package/dist/tool/tool.handler.js +1 -0
  32. package/dist/tool/tool.presentation.js +1 -0
  33. package/dist/tool/tool.schema.js +1 -0
  34. package/package.json +59 -39
  35. package/src/agent/agent.contracts.ts +275 -0
  36. package/src/agent/agent.entity.ts +84 -0
  37. package/src/agent/agent.enum.ts +31 -0
  38. package/src/agent/agent.event.ts +109 -0
  39. package/src/{handlers/agent.handlers.ts → agent/agent.handler.ts} +23 -78
  40. package/src/{presentations/agent-list.ts → agent/agent.presentation.ts} +26 -14
  41. package/src/agent/agent.schema.ts +147 -0
  42. package/src/agent/index.ts +65 -0
  43. package/src/handlers/index.ts +17 -44
  44. package/src/index.ts +6 -15
  45. package/src/presentations/index.ts +13 -34
  46. package/src/run/index.ts +65 -0
  47. package/src/run/run.contracts.ts +266 -0
  48. package/src/run/run.entity.ts +126 -0
  49. package/src/run/run.enum.ts +45 -0
  50. package/src/run/run.event.ts +211 -0
  51. package/src/run/run.handler.ts +103 -0
  52. package/src/run/run.presentation.ts +47 -0
  53. package/src/run/run.schema.ts +139 -0
  54. package/src/shared/index.ts +6 -0
  55. package/src/shared/mock-agents.ts +83 -0
  56. package/src/shared/mock-runs.ts +108 -0
  57. package/src/shared/mock-tools.ts +146 -0
  58. package/src/tool/index.ts +35 -0
  59. package/src/tool/tool.contracts.ts +180 -0
  60. package/src/tool/tool.entity.ts +66 -0
  61. package/src/tool/tool.enum.ts +34 -0
  62. package/src/tool/tool.event.ts +84 -0
  63. package/src/tool/tool.handler.ts +107 -0
  64. package/src/{presentations/tool-registry.ts → tool/tool.presentation.ts} +12 -17
  65. package/src/tool/tool.schema.ts +134 -0
  66. package/tsconfig.tsbuildinfo +1 -1
  67. package/dist/contracts/agent.js +0 -1
  68. package/dist/contracts/index.js +0 -1
  69. package/dist/contracts/run.js +0 -1
  70. package/dist/contracts/tool.js +0 -1
  71. package/dist/entities/index.js +0 -1
  72. package/dist/entities/log.js +0 -1
  73. package/dist/entities/run.js +0 -1
  74. package/dist/entities/tool.js +0 -1
  75. package/dist/events.js +0 -1
  76. package/dist/handlers/agent.handlers.js +0 -1
  77. package/dist/handlers/mock-data.js +0 -1
  78. package/dist/handlers/run.handlers.js +0 -1
  79. package/dist/handlers/tool.handlers.js +0 -1
  80. package/dist/presentations/agent-list.js +0 -1
  81. package/dist/presentations/dashboard.js +0 -1
  82. package/dist/presentations/run-list.js +0 -1
  83. package/dist/presentations/tool-registry.js +0 -1
  84. package/src/contracts/agent.ts +0 -501
  85. package/src/contracts/index.ts +0 -29
  86. package/src/contracts/run.ts +0 -561
  87. package/src/contracts/tool.ts +0 -392
  88. package/src/entities/agent.ts +0 -151
  89. package/src/entities/index.ts +0 -20
  90. package/src/entities/log.ts +0 -76
  91. package/src/entities/run.ts +0 -240
  92. package/src/entities/tool.ts +0 -105
  93. package/src/events.ts +0 -419
  94. package/src/handlers/mock-data.ts +0 -413
  95. package/src/handlers/run.handlers.ts +0 -331
  96. package/src/handlers/tool.handlers.ts +0 -188
  97. package/src/presentations/dashboard.ts +0 -29
  98. package/src/presentations/run-list.ts +0 -76
  99. /package/dist/{feature.js → agent.feature.js} +0 -0
  100. /package/src/{feature.ts → agent.feature.ts} +0 -0
@@ -2,35 +2,45 @@ $ bun build:bundle && bun build:types
2
2
  $ tsdown
3
3
  ℹ tsdown v0.17.4 powered by rolldown v1.0.0-beta.53
4
4
  ℹ config file: /home/runner/work/contractspec/contractspec/packages/examples/agent-console/tsdown.config.js
5
- ℹ entry: src/events.ts, src/example.ts, src/feature.ts, src/index.ts, src/contracts/agent.ts, src/contracts/index.ts, src/contracts/run.ts, src/contracts/tool.ts, src/docs/agent-console.docblock.ts, src/docs/index.ts, src/entities/agent.ts, src/entities/index.ts, src/entities/log.ts, src/entities/run.ts, src/entities/tool.ts, src/handlers/agent.handlers.ts, src/handlers/index.ts, src/handlers/mock-data.ts, src/handlers/run.handlers.ts, src/handlers/tool.handlers.ts, src/presentations/agent-list.ts, src/presentations/dashboard.ts, src/presentations/index.ts, src/presentations/run-list.ts, src/presentations/tool-registry.ts
5
+ ℹ entry: src/agent.feature.ts, src/example.ts, src/index.ts, src/agent/agent.contracts.ts, src/agent/agent.entity.ts, src/agent/agent.enum.ts, src/agent/agent.event.ts, src/agent/agent.handler.ts, src/agent/agent.presentation.ts, src/agent/agent.schema.ts, src/agent/index.ts, src/docs/agent-console.docblock.ts, src/docs/index.ts, src/handlers/index.ts, src/presentations/index.ts, src/run/index.ts, src/run/run.contracts.ts, src/run/run.entity.ts, src/run/run.enum.ts, src/run/run.event.ts, src/run/run.handler.ts, src/run/run.presentation.ts, src/run/run.schema.ts, src/shared/index.ts, src/shared/mock-agents.ts, src/shared/mock-runs.ts, src/shared/mock-tools.ts, src/tool/index.ts, src/tool/tool.contracts.ts, src/tool/tool.entity.ts, src/tool/tool.enum.ts, src/tool/tool.event.ts, src/tool/tool.handler.ts, src/tool/tool.presentation.ts, src/tool/tool.schema.ts
6
6
  ℹ target: esnext
7
7
  ℹ tsconfig: tsconfig.json
8
8
  ℹ Build start
9
- ℹ dist/contracts/run.js 10.21 kB │ gzip: 2.25 kB
10
- ℹ dist/contracts/agent.js  9.74 kB │ gzip: 1.88 kB
11
- ℹ dist/events.js  8.95 kB │ gzip: 1.37 kB
12
- ℹ dist/handlers/mock-data.js  8.88 kB │ gzip: 2.49 kB
13
- ℹ dist/contracts/tool.js  7.03 kB │ gzip: 1.66 kB
14
- ℹ dist/index.js  4.99 kB │ gzip: 1.30 kB
15
- ℹ dist/entities/run.js  4.34 kB │ gzip: 1.35 kB
16
- ℹ dist/docs/agent-console.docblock.js  3.37 kB │ gzip: 1.36 kB
17
- ℹ dist/entities/agent.js  2.85 kB │ gzip: 1.12 kB
18
- ℹ dist/feature.js  2.75 kB │ gzip: 0.60 kB
19
- ℹ dist/handlers/run.handlers.js  2.32 kB │ gzip: 1.00 kB
20
- ℹ dist/entities/tool.js  1.91 kB │ gzip: 0.85 kB
21
- ℹ dist/handlers/agent.handlers.js  1.42 kB │ gzip: 0.66 kB
22
- ℹ dist/presentations/run-list.js  1.24 kB │ gzip: 0.45 kB
23
- ℹ dist/handlers/tool.handlers.js  1.20 kB │ gzip: 0.60 kB
24
- ℹ dist/entities/log.js  1.10 kB │ gzip: 0.58 kB
25
- ℹ dist/handlers/index.js  0.99 kB │ gzip: 0.33 kB
26
- ℹ dist/contracts/index.js  0.89 kB │ gzip: 0.31 kB
27
- ℹ dist/presentations/agent-list.js  0.88 kB │ gzip: 0.39 kB
28
- ℹ dist/presentations/tool-registry.js  0.85 kB │ gzip: 0.38 kB
29
- ℹ dist/example.js  0.78 kB │ gzip: 0.41 kB
30
- ℹ dist/presentations/index.js  0.65 kB │ gzip: 0.24 kB
31
- ℹ dist/entities/index.js  0.58 kB │ gzip: 0.24 kB
32
- ℹ dist/presentations/dashboard.js  0.44 kB │ gzip: 0.28 kB
33
- ℹ dist/docs/index.js  0.04 kB │ gzip: 0.06 kB
34
- ℹ 25 files, total: 78.41 kB
35
- ✔ Build complete in 68ms
9
+ ℹ dist/run/run.contracts.js 6.37 kB │ gzip: 1.63 kB
10
+ ℹ dist/index.js 5.65 kB │ gzip: 1.48 kB
11
+ ℹ dist/agent/agent.contracts.js 5.04 kB │ gzip: 1.42 kB
12
+ ℹ dist/agent/agent.schema.js 4.85 kB │ gzip: 0.71 kB
13
+ ℹ dist/run/run.event.js 4.73 kB │ gzip: 0.81 kB
14
+ ℹ dist/tool/tool.contracts.js 4.25 kB │ gzip: 1.30 kB
15
+ ℹ dist/run/run.schema.js 3.90 kB │ gzip: 0.83 kB
16
+ ℹ dist/run/run.entity.js 3.69 kB │ gzip: 1.16 kB
17
+ ℹ dist/docs/agent-console.docblock.js 3.37 kB │ gzip: 1.36 kB
18
+ ℹ dist/shared/mock-tools.js 3.09 kB │ gzip: 1.00 kB
19
+ ℹ dist/agent/agent.entity.js 2.87 kB │ gzip: 1.12 kB
20
+ ℹ dist/tool/tool.schema.js 2.85 kB │ gzip: 0.57 kB
21
+ ℹ dist/agent.feature.js 2.75 kB │ gzip: 0.60 kB
22
+ ℹ dist/shared/mock-runs.js 2.35 kB │ gzip: 0.72 kB
23
+ ℹ dist/agent/agent.event.js 2.25 kB │ gzip: 0.51 kB
24
+ ℹ dist/shared/mock-agents.js 2.03 kB │ gzip: 0.81 kB
25
+ ℹ dist/tool/tool.entity.js 1.88 kB │ gzip: 0.79 kB
26
+ ℹ dist/run/index.js 1.84 kB │ gzip: 0.60 kB
27
+ ℹ dist/tool/tool.event.js 1.81 kB │ gzip: 0.47 kB
28
+ ℹ dist/agent/index.js 1.74 kB │ gzip: 0.53 kB
29
+ ℹ dist/tool/index.js 1.47 kB │ gzip: 0.46 kB
30
+ ℹ dist/agent/agent.handler.js 1.47 kB │ gzip: 0.67 kB
31
+ ℹ dist/tool/tool.handler.js 1.41 kB │ gzip: 0.66 kB
32
+ ℹ dist/run/run.handler.js 1.40 kB │ gzip: 0.68 kB
33
+ ℹ dist/agent/agent.presentation.js 1.27 kB │ gzip: 0.44 kB
34
+ ℹ dist/tool/tool.presentation.js 0.85 kB │ gzip: 0.39 kB
35
+ ℹ dist/run/run.presentation.js 0.84 kB │ gzip: 0.38 kB
36
+ ℹ dist/example.js 0.78 kB │ gzip: 0.41 kB
37
+ ℹ dist/presentations/index.js 0.59 kB │ gzip: 0.21 kB
38
+ ℹ dist/handlers/index.js 0.59 kB │ gzip: 0.21 kB
39
+ ℹ dist/run/run.enum.js 0.40 kB │ gzip: 0.28 kB
40
+ ℹ dist/tool/tool.enum.js 0.34 kB │ gzip: 0.25 kB
41
+ ℹ dist/agent/agent.enum.js 0.30 kB │ gzip: 0.23 kB
42
+ ℹ dist/shared/index.js 0.19 kB │ gzip: 0.12 kB
43
+ ℹ dist/docs/index.js 0.04 kB │ gzip: 0.06 kB
44
+ ℹ 35 files, total: 79.23 kB
45
+ ✔ Build complete in 86ms
36
46
  $ tsc --noEmit
package/CHANGELOG.md CHANGED
@@ -1,13 +1,13 @@
1
1
  # @lssm/example.agent-console
2
2
 
3
- ## 0.0.0-canary-20251215234340
3
+ ## 0.0.0-canary-20251216024228
4
4
 
5
5
  ### Patch Changes
6
6
 
7
7
  - 3086383: refactor: dependencies upgrade
8
8
  - Updated dependencies [3086383]
9
- - @lssm/lib.contracts@0.0.0-canary-20251215234340
10
- - @lssm/lib.schema@0.0.0-canary-20251215234340
11
- - @lssm/lib.jobs@0.0.0-canary-20251215234340
12
- - @lssm/lib.identity-rbac@0.0.0-canary-20251215234340
13
- - @lssm/module.audit-trail@0.0.0-canary-20251215234340
9
+ - @lssm/lib.contracts@0.0.0-canary-20251216024228
10
+ - @lssm/lib.schema@0.0.0-canary-20251216024228
11
+ - @lssm/lib.jobs@0.0.0-canary-20251216024228
12
+ - @lssm/lib.identity-rbac@0.0.0-canary-20251216024228
13
+ - @lssm/module.audit-trail@0.0.0-canary-20251216024228
@@ -0,0 +1 @@
1
+ import{AgentStatusEnum as e,ModelProviderEnum as t}from"./agent.enum.js";import{AgentSummaryModel as n,AgentWithToolsModel as r,CreateAgentInputModel as i,UpdateAgentInputModel as a}from"./agent.schema.js";import{AgentCreatedEvent as o}from"./agent.event.js";import{ScalarTypeEnum as s,defineSchemaModel as c}from"@lssm/lib.schema";import{defineCommand as l,defineQuery as u}from"@lssm/lib.contracts/spec";const d=[`@agent-console-team`],f=l({meta:{name:`agent.agent.create`,version:1,stability:`stable`,owners:[...d],tags:[`agent`,`create`],description:`Creates a new AI agent configuration.`,goal:`Allow users to define new AI agents with specific models and tools.`,context:`Called from the agent builder UI when creating a new agent.`},io:{input:i,output:c({name:`CreateAgentOutput`,fields:{id:{type:s.String_unsecure(),isOptional:!1},name:{type:s.NonEmptyString(),isOptional:!1},slug:{type:s.String_unsecure(),isOptional:!1},status:{type:e,isOptional:!1}}}),errors:{SLUG_EXISTS:{description:`An agent with this slug already exists in the organization`,http:409,gqlCode:`SLUG_EXISTS`,when:`Slug is already taken`}}},policy:{auth:`user`},sideEffects:{emits:[{ref:o,when:`Agent is successfully created`}],audit:[`agent.created`]}}),p=l({meta:{name:`agent.agent.update`,version:1,stability:`stable`,owners:[...d],tags:[`agent`,`update`],description:`Updates an existing AI agent configuration.`,goal:`Allow users to modify agent settings and configuration.`,context:`Called from the agent settings UI.`},io:{input:a,output:c({name:`UpdateAgentOutput`,fields:{id:{type:s.String_unsecure(),isOptional:!1},name:{type:s.NonEmptyString(),isOptional:!1},status:{type:e,isOptional:!1},updatedAt:{type:s.DateTime(),isOptional:!1}}}),errors:{AGENT_NOT_FOUND:{description:`The specified agent does not exist`,http:404,gqlCode:`AGENT_NOT_FOUND`,when:`Agent ID is invalid`}}},policy:{auth:`user`},sideEffects:{emits:[{name:`agent.updated`,version:1,when:`Agent is updated`,payload:n}],audit:[`agent.updated`]}}),m=u({meta:{name:`agent.agent.get`,version:1,stability:`stable`,owners:[...d],tags:[`agent`,`get`],description:`Retrieves an agent by its ID.`,goal:`View detailed agent configuration.`,context:`Called when viewing agent details or editing.`},io:{input:c({name:`GetAgentInput`,fields:{agentId:{type:s.String_unsecure(),isOptional:!1},includeTools:{type:s.Boolean(),isOptional:!0}}}),output:r,errors:{AGENT_NOT_FOUND:{description:`The specified agent does not exist`,http:404,gqlCode:`AGENT_NOT_FOUND`,when:`Agent ID is invalid`}}},policy:{auth:`user`}}),h=u({meta:{name:`agent.agent.list`,version:1,stability:`stable`,owners:[...d],tags:[`agent`,`list`],description:`Lists agents for an organization with optional filtering.`,goal:`Browse and search available agents.`,context:`Agent list/dashboard view.`},io:{input:c({name:`ListAgentsInput`,fields:{organizationId:{type:s.String_unsecure(),isOptional:!1},status:{type:e,isOptional:!0},modelProvider:{type:t,isOptional:!0},search:{type:s.String_unsecure(),isOptional:!0},limit:{type:s.Int_unsecure(),isOptional:!0,defaultValue:20},offset:{type:s.Int_unsecure(),isOptional:!0,defaultValue:0}}}),output:c({name:`ListAgentsOutput`,fields:{items:{type:n,isArray:!0,isOptional:!1},total:{type:s.Int_unsecure(),isOptional:!1},hasMore:{type:s.Boolean(),isOptional:!1}}})},policy:{auth:`user`}}),g=l({meta:{name:`agent.agent.assignTool`,version:1,stability:`stable`,owners:[...d],tags:[`agent`,`tool`,`assign`],description:`Assigns a tool to an agent with optional configuration.`,goal:`Enable agents to use specific tools.`,context:`Agent configuration UI - tool selection.`},io:{input:c({name:`AssignToolToAgentInput`,fields:{agentId:{type:s.String_unsecure(),isOptional:!1},toolId:{type:s.String_unsecure(),isOptional:!1},config:{type:s.JSONObject(),isOptional:!0},order:{type:s.Int_unsecure(),isOptional:!0}}}),output:c({name:`AssignToolToAgentOutput`,fields:{agentToolId:{type:s.String_unsecure(),isOptional:!1},agentId:{type:s.String_unsecure(),isOptional:!1},toolId:{type:s.String_unsecure(),isOptional:!1}}}),errors:{TOOL_ALREADY_ASSIGNED:{description:`This tool is already assigned to the agent`,http:409,gqlCode:`TOOL_ALREADY_ASSIGNED`,when:`Tool assignment already exists`}}},policy:{auth:`user`},sideEffects:{audit:[`agent.tool.assigned`]}}),_=l({meta:{name:`agent.agent.removeTool`,version:1,stability:`stable`,owners:[...d],tags:[`agent`,`tool`,`remove`],description:`Removes a tool assignment from an agent.`,goal:`Disable specific tools for an agent.`,context:`Agent configuration UI - tool management.`},io:{input:c({name:`RemoveToolFromAgentInput`,fields:{agentId:{type:s.String_unsecure(),isOptional:!1},toolId:{type:s.String_unsecure(),isOptional:!1}}}),output:c({name:`RemoveToolFromAgentOutput`,fields:{success:{type:s.Boolean(),isOptional:!1}}})},policy:{auth:`user`},sideEffects:{audit:[`agent.tool.removed`]}});export{g as AssignToolToAgentCommand,f as CreateAgentCommand,m as GetAgentQuery,h as ListAgentsQuery,_ as RemoveToolFromAgentCommand,p as UpdateAgentCommand};
@@ -1 +1 @@
1
- import{defineEntity as e,defineEntityEnum as t,field as n,index as r}from"@lssm/lib.schema/entity";const i=t({name:`AgentStatus`,values:[`DRAFT`,`ACTIVE`,`PAUSED`,`ARCHIVED`],description:`Lifecycle status of the agent`}),a=t({name:`ModelProvider`,values:[`OPENAI`,`ANTHROPIC`,`GOOGLE`,`MISTRAL`,`CUSTOM`],description:`AI model provider`}),o=e({name:`Agent`,schema:`agent_console`,description:`Represents an AI agent configuration with assigned tools and parameters.`,fields:{id:n.id(),organizationId:n.string({description:`Organization that owns this agent`}),name:n.string({description:`Agent name (1-100 chars)`}),slug:n.string({description:`URL-safe identifier (lowercase, numbers, hyphens)`}),description:n.string({isOptional:!0,description:`Agent description (max 1000 chars)`}),status:n.enum(`AgentStatus`,{default:`DRAFT`}),modelProvider:n.enum(`ModelProvider`,{default:`OPENAI`}),modelName:n.string({description:`Model identifier: 'gpt-4', 'claude-3-opus', etc.`}),modelConfig:n.json({isOptional:!0,description:`Model parameters: temperature, max_tokens, etc.`}),systemPrompt:n.string({description:`System prompt for the agent`}),userPromptTemplate:n.string({isOptional:!0,description:`Template for user prompts`}),toolIds:n.string({isArray:!0,isOptional:!0,description:`IDs of assigned tools`}),toolChoice:n.string({default:`auto`,description:`Tool selection mode: 'auto', 'required', 'none'`}),maxIterations:n.int({default:10,description:`Maximum iterations per run`}),maxTokensPerRun:n.int({isOptional:!0,description:`Maximum tokens per run`}),timeoutMs:n.int({default:12e4,description:`Execution timeout in milliseconds`}),version:n.string({default:`1.0.0`,description:`Agent 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 agent`}),tools:n.hasMany(`Tool`,{description:`Tools assigned to this agent`})},indexes:[r.unique([`organizationId`,`slug`]),r.on([`organizationId`,`status`]),r.on([`modelProvider`,`modelName`])],enums:[i,a]}),s=e({name:`AgentTool`,schema:`agent_console`,description:`Links an agent to its assigned tools with configuration.`,fields:{id:n.id(),agentId:n.foreignKey({description:`Agent ID`}),toolId:n.foreignKey({description:`Tool ID`}),config:n.json({isOptional:!0,description:`Tool-specific configuration for this agent`}),order:n.int({default:0,description:`Order of tool in agent tool list`}),isEnabled:n.boolean({default:!0,description:`Whether tool is enabled for this agent`}),createdAt:n.createdAt(),agent:n.belongsTo(`Agent`,[`agentId`],[`id`]),tool:n.belongsTo(`Tool`,[`toolId`],[`id`])},indexes:[r.unique([`agentId`,`toolId`]),r.on([`agentId`,`order`])]});export{o as AgentEntity,i as AgentStatusEnum,s as AgentToolEntity,a as ModelProviderEnum};
1
+ import{defineEntity as e,defineEntityEnum as t,field as n,index as r}from"@lssm/lib.schema/entity";const i=t({name:`AgentStatus`,values:[`DRAFT`,`ACTIVE`,`PAUSED`,`ARCHIVED`],description:`Lifecycle status of the agent`}),a=t({name:`ModelProvider`,values:[`OPENAI`,`ANTHROPIC`,`GOOGLE`,`MISTRAL`,`CUSTOM`],description:`AI model provider`}),o=e({name:`Agent`,schema:`agent_console`,description:`Represents an AI agent configuration with assigned tools and parameters.`,fields:{id:n.id(),organizationId:n.string({description:`Organization that owns this agent`}),name:n.string({description:`Agent name (1-100 chars)`}),slug:n.string({description:`URL-safe identifier (lowercase, numbers, hyphens)`}),description:n.string({isOptional:!0,description:`Agent description (max 1000 chars)`}),status:n.enum(`AgentStatus`,{default:`DRAFT`}),modelProvider:n.enum(`ModelProvider`,{default:`OPENAI`}),modelName:n.string({description:`Model identifier: 'gpt-4', 'claude-3-opus', etc.`}),modelConfig:n.json({isOptional:!0,description:`Model parameters: temperature, max_tokens, etc.`}),systemPrompt:n.string({description:`System prompt for the agent`}),userPromptTemplate:n.string({isOptional:!0,description:`Template for user prompts`}),toolIds:n.string({isArray:!0,isOptional:!0,description:`IDs of assigned tools`}),toolChoice:n.string({default:`auto`,description:`Tool selection mode: 'auto', 'required', 'none'`}),maxIterations:n.int({default:10,description:`Maximum iterations per run`}),maxTokensPerRun:n.int({isOptional:!0,description:`Maximum tokens per run`}),timeoutMs:n.int({default:12e4,description:`Execution timeout in milliseconds`}),version:n.string({default:`1.0.0`,description:`Agent 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 agent`}),tools:n.hasMany(`Tool`,{description:`Tools assigned to this agent`})},indexes:[r.unique([`organizationId`,`slug`]),r.on([`organizationId`,`status`]),r.on([`modelProvider`,`modelName`])],enums:[i,a]}),s=e({name:`AgentTool`,schema:`agent_console`,description:`Links an agent to its assigned tools with configuration.`,fields:{id:n.id(),agentId:n.foreignKey({description:`Agent ID`}),toolId:n.foreignKey({description:`Tool ID`}),config:n.json({isOptional:!0,description:`Tool-specific configuration for this agent`}),order:n.int({default:0,description:`Order of tool in agent tool list`}),isEnabled:n.boolean({default:!0,description:`Whether tool is enabled for this agent`}),createdAt:n.createdAt(),agent:n.belongsTo(`Agent`,[`agentId`],[`id`]),tool:n.belongsTo(`Tool`,[`toolId`],[`id`])},indexes:[r.unique([`agentId`,`toolId`]),r.on([`agentId`,`order`])]});export{o as AgentEntity,i as AgentStatusEntityEnum,s as AgentToolEntity,a as ModelProviderEntityEnum};
@@ -0,0 +1 @@
1
+ import{defineEnum as e}from"@lssm/lib.schema";const t=e(`AgentStatus`,[`DRAFT`,`ACTIVE`,`PAUSED`,`ARCHIVED`]),n=e(`ModelProvider`,[`OPENAI`,`ANTHROPIC`,`GOOGLE`,`MISTRAL`,`CUSTOM`]),r=e(`ToolChoice`,[`auto`,`required`,`none`]);export{t as AgentStatusEnum,n as ModelProviderEnum,r as ToolChoiceEnum};
@@ -0,0 +1 @@
1
+ import{ScalarTypeEnum as e}from"@lssm/lib.schema";import{defineEvent as t,defineSchemaModel as n}from"@lssm/lib.contracts";const r=t({name:`agent.agent.created`,version:1,description:`A new AI agent was configured.`,payload:n({name:`AgentCreatedPayload`,description:`Payload for agent created event`,fields:{id:{type:e.String_unsecure(),isOptional:!1},organizationId:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},slug:{type:e.String_unsecure(),isOptional:!1},modelProvider:{type:e.String_unsecure(),isOptional:!1},modelName:{type:e.String_unsecure(),isOptional:!1},toolCount:{type:e.Int_unsecure(),isOptional:!1},createdById:{type:e.String_unsecure(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}})}),i=t({name:`agent.agent.updated`,version:1,description:`An AI agent configuration was updated.`,payload:n({name:`AgentUpdatedPayload`,description:`Payload for agent updated event`,fields:{id:{type:e.String_unsecure(),isOptional:!1},organizationId:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},status:{type:e.String_unsecure(),isOptional:!1},updatedFields:{type:e.String_unsecure(),isArray:!0,isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}})}),a=t({name:`agent.agent.toolAssigned`,version:1,description:`A tool was assigned to an agent.`,payload:n({name:`AgentToolAssignedPayload`,description:`Payload for agent tool assigned event`,fields:{agentId:{type:e.String_unsecure(),isOptional:!1},toolId:{type:e.String_unsecure(),isOptional:!1},agentName:{type:e.String_unsecure(),isOptional:!1},toolName:{type:e.String_unsecure(),isOptional:!1},assignedAt:{type:e.DateTime(),isOptional:!1}}})}),o=t({name:`agent.agent.toolRemoved`,version:1,description:`A tool was removed from an agent.`,payload:n({name:`AgentToolRemovedPayload`,description:`Payload for agent tool removed event`,fields:{agentId:{type:e.String_unsecure(),isOptional:!1},toolId:{type:e.String_unsecure(),isOptional:!1},agentName:{type:e.String_unsecure(),isOptional:!1},toolName:{type:e.String_unsecure(),isOptional:!1},removedAt:{type:e.DateTime(),isOptional:!1}}})});export{r as AgentCreatedEvent,a as AgentToolAssignedEvent,o as AgentToolRemovedEvent,i as AgentUpdatedEvent};
@@ -0,0 +1 @@
1
+ import{MOCK_AGENTS as e}from"../shared/mock-agents.js";import{MOCK_TOOLS as t}from"../shared/mock-tools.js";async function n(t){let{organizationId:n,status:r,modelProvider:i,search:a,limit:o=20,offset:s=0}=t,c=e.filter(e=>e.organizationId===n);if(r&&(c=c.filter(e=>e.status===r)),i&&(c=c.filter(e=>e.modelProvider===i)),a){let e=a.toLowerCase();c=c.filter(t=>t.name.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e)||t.tags?.some(t=>t.toLowerCase().includes(e)))}let l=c.length;return{items:c.slice(s,s+o).map(e=>({id:e.id,name:e.name,slug:e.slug,description:e.description,status:e.status,modelProvider:e.modelProvider,modelName:e.modelName,version:e.version,createdAt:e.createdAt})),total:l,hasMore:s+o<l}}async function r(n){let r=e.find(e=>e.id===n.agentId);if(!r)throw Error(`AGENT_NOT_FOUND`);let i={...r,toolIds:[`tool-1`,`tool-2`]};return n.includeTools&&(i.tools=t.slice(0,2).map(e=>({id:e.id,name:e.name,slug:e.slug,description:e.description,category:e.category}))),i}async function i(t){if(e.some(e=>e.organizationId===t.organizationId&&e.slug===t.slug))throw Error(`SLUG_EXISTS`);return{id:`agent-${Date.now()}`,name:t.name,slug:t.slug,status:`DRAFT`}}async function a(t){let n=e.find(e=>e.id===t.agentId);if(!n)throw Error(`AGENT_NOT_FOUND`);return{id:n.id,name:t.name??n.name,status:t.status??n.status,updatedAt:new Date}}export{i as mockCreateAgentHandler,r as mockGetAgentHandler,n as mockListAgentsHandler,a as mockUpdateAgentHandler};
@@ -0,0 +1 @@
1
+ import{AgentSummaryModel as e}from"./agent.schema.js";const t={meta:{name:`agent-console.agent.list`,version:1,description:`List view of AI agents with status, model provider, and version info`,domain:`agent-console`,owners:[`agent-console-team`],tags:[`agent`,`list`,`dashboard`]},source:{type:`component`,framework:`react`,componentKey:`AgentListView`,props:e},targets:[`react`,`markdown`,`application/json`],policy:{flags:[`agent-console.enabled`]}},n={meta:{name:`agent-console.agent.detail`,version:1,description:`Detailed view of an AI agent with configuration, tools, and recent runs`,domain:`agent-console`,owners:[`agent-console-team`],tags:[`agent`,`detail`]},source:{type:`component`,framework:`react`,componentKey:`AgentDetailView`},targets:[`react`,`markdown`],policy:{flags:[`agent-console.enabled`]}},r={meta:{name:`agent-console.dashboard`,version:1,description:`Dashboard overview of AI agents, runs, and tools`,domain:`agent-console`,owners:[`agent-console-team`],tags:[`dashboard`,`overview`]},source:{type:`component`,framework:`react`,componentKey:`AgentConsoleDashboard`},targets:[`react`,`markdown`],policy:{flags:[`agent-console.enabled`]}};export{r as AgentConsoleDashboardPresentation,n as AgentDetailPresentation,t as AgentListPresentation};
@@ -0,0 +1 @@
1
+ import{AgentStatusEnum as e,ModelProviderEnum as t,ToolChoiceEnum as n}from"./agent.enum.js";import{ScalarTypeEnum as r,defineSchemaModel as i}from"@lssm/lib.schema";const a=i({name:`Agent`,description:`AI agent configuration`,fields:{id:{type:r.String_unsecure(),isOptional:!1},organizationId:{type:r.String_unsecure(),isOptional:!1},name:{type:r.NonEmptyString(),isOptional:!1},slug:{type:r.String_unsecure(),isOptional:!1},description:{type:r.String_unsecure(),isOptional:!0},status:{type:e,isOptional:!1},modelProvider:{type:t,isOptional:!1},modelName:{type:r.NonEmptyString(),isOptional:!1},modelConfig:{type:r.JSONObject(),isOptional:!0},systemPrompt:{type:r.String_unsecure(),isOptional:!1},userPromptTemplate:{type:r.String_unsecure(),isOptional:!0},toolIds:{type:r.String_unsecure(),isArray:!0,isOptional:!0},toolChoice:{type:n,isOptional:!1,defaultValue:`auto`},maxIterations:{type:r.Int_unsecure(),isOptional:!1,defaultValue:10},maxTokensPerRun:{type:r.Int_unsecure(),isOptional:!0},timeoutMs:{type:r.Int_unsecure(),isOptional:!1,defaultValue:12e4},version:{type:r.NonEmptyString(),isOptional:!1},tags:{type:r.String_unsecure(),isArray:!0,isOptional:!0},createdAt:{type:r.DateTime(),isOptional:!1},updatedAt:{type:r.DateTime(),isOptional:!1}}}),o=i({name:`AgentSummary`,description:`Summary of an agent for list views`,fields:{id:{type:r.String_unsecure(),isOptional:!1},name:{type:r.NonEmptyString(),isOptional:!1},slug:{type:r.String_unsecure(),isOptional:!1},description:{type:r.String_unsecure(),isOptional:!0},status:{type:e,isOptional:!1},modelProvider:{type:t,isOptional:!1},modelName:{type:r.NonEmptyString(),isOptional:!1},version:{type:r.NonEmptyString(),isOptional:!1},createdAt:{type:r.DateTime(),isOptional:!1}}}),s=i({name:`AgentToolRef`,description:`Tool reference in agent context`,fields:{id:{type:r.String_unsecure(),isOptional:!1},name:{type:r.NonEmptyString(),isOptional:!1},slug:{type:r.String_unsecure(),isOptional:!1},description:{type:r.String_unsecure(),isOptional:!1},category:{type:r.String_unsecure(),isOptional:!1}}}),c=i({name:`AgentWithTools`,description:`Agent with associated tools`,fields:{id:{type:r.String_unsecure(),isOptional:!1},organizationId:{type:r.String_unsecure(),isOptional:!1},name:{type:r.NonEmptyString(),isOptional:!1},slug:{type:r.String_unsecure(),isOptional:!1},description:{type:r.String_unsecure(),isOptional:!0},status:{type:e,isOptional:!1},modelProvider:{type:t,isOptional:!1},modelName:{type:r.NonEmptyString(),isOptional:!1},modelConfig:{type:r.JSONObject(),isOptional:!0},systemPrompt:{type:r.String_unsecure(),isOptional:!1},userPromptTemplate:{type:r.String_unsecure(),isOptional:!0},toolIds:{type:r.String_unsecure(),isArray:!0,isOptional:!0},toolChoice:{type:n,isOptional:!1},maxIterations:{type:r.Int_unsecure(),isOptional:!1},maxTokensPerRun:{type:r.Int_unsecure(),isOptional:!0},timeoutMs:{type:r.Int_unsecure(),isOptional:!1},version:{type:r.NonEmptyString(),isOptional:!1},tags:{type:r.String_unsecure(),isArray:!0,isOptional:!0},createdAt:{type:r.DateTime(),isOptional:!1},updatedAt:{type:r.DateTime(),isOptional:!1},tools:{type:s,isArray:!0,isOptional:!0}}}),l=i({name:`CreateAgentInput`,description:`Input for creating an agent`,fields:{organizationId:{type:r.String_unsecure(),isOptional:!1},name:{type:r.NonEmptyString(),isOptional:!1},slug:{type:r.String_unsecure(),isOptional:!1},description:{type:r.String_unsecure(),isOptional:!0},modelProvider:{type:t,isOptional:!1},modelName:{type:r.NonEmptyString(),isOptional:!1},modelConfig:{type:r.JSONObject(),isOptional:!0},systemPrompt:{type:r.String_unsecure(),isOptional:!1},userPromptTemplate:{type:r.String_unsecure(),isOptional:!0},toolIds:{type:r.String_unsecure(),isArray:!0,isOptional:!0},toolChoice:{type:n,isOptional:!0},maxIterations:{type:r.Int_unsecure(),isOptional:!0},maxTokensPerRun:{type:r.Int_unsecure(),isOptional:!0},timeoutMs:{type:r.Int_unsecure(),isOptional:!0},tags:{type:r.String_unsecure(),isArray:!0,isOptional:!0}}}),u=i({name:`UpdateAgentInput`,description:`Input for updating an agent`,fields:{agentId:{type:r.String_unsecure(),isOptional:!1},name:{type:r.NonEmptyString(),isOptional:!0},description:{type:r.String_unsecure(),isOptional:!0},status:{type:e,isOptional:!0},modelConfig:{type:r.JSONObject(),isOptional:!0},systemPrompt:{type:r.String_unsecure(),isOptional:!0},userPromptTemplate:{type:r.String_unsecure(),isOptional:!0},toolIds:{type:r.String_unsecure(),isArray:!0,isOptional:!0},toolChoice:{type:n,isOptional:!0},maxIterations:{type:r.Int_unsecure(),isOptional:!0},maxTokensPerRun:{type:r.Int_unsecure(),isOptional:!0},timeoutMs:{type:r.Int_unsecure(),isOptional:!0},tags:{type:r.String_unsecure(),isArray:!0,isOptional:!0}}});export{a as AgentModel,o as AgentSummaryModel,s as AgentToolRefModel,c as AgentWithToolsModel,l as CreateAgentInputModel,u as UpdateAgentInputModel};
@@ -0,0 +1 @@
1
+ import{AgentStatusEnum as e,ModelProviderEnum as t,ToolChoiceEnum as n}from"./agent.enum.js";import{AgentModel as r,AgentSummaryModel as i,AgentToolRefModel as a,AgentWithToolsModel as o,CreateAgentInputModel as s,UpdateAgentInputModel as c}from"./agent.schema.js";import{AgentCreatedEvent as l,AgentToolAssignedEvent as u,AgentToolRemovedEvent as d,AgentUpdatedEvent as f}from"./agent.event.js";import{AssignToolToAgentCommand as p,CreateAgentCommand as m,GetAgentQuery as h,ListAgentsQuery as g,RemoveToolFromAgentCommand as _,UpdateAgentCommand as v}from"./agent.contracts.js";import{AgentEntity as y,AgentStatusEntityEnum as b,AgentToolEntity as x,ModelProviderEntityEnum as S}from"./agent.entity.js";import{AgentConsoleDashboardPresentation as C,AgentDetailPresentation as w,AgentListPresentation as T}from"./agent.presentation.js";import{mockCreateAgentHandler as E,mockGetAgentHandler as D,mockListAgentsHandler as O,mockUpdateAgentHandler as k}from"./agent.handler.js";export{C as AgentConsoleDashboardPresentation,l as AgentCreatedEvent,w as AgentDetailPresentation,y as AgentEntity,T as AgentListPresentation,r as AgentModel,b as AgentStatusEntityEnum,e as AgentStatusEnum,i as AgentSummaryModel,u as AgentToolAssignedEvent,x as AgentToolEntity,a as AgentToolRefModel,d as AgentToolRemovedEvent,f as AgentUpdatedEvent,o as AgentWithToolsModel,p as AssignToolToAgentCommand,m as CreateAgentCommand,s as CreateAgentInputModel,h as GetAgentQuery,g as ListAgentsQuery,S as ModelProviderEntityEnum,t as ModelProviderEnum,_ as RemoveToolFromAgentCommand,n as ToolChoiceEnum,v as UpdateAgentCommand,c as UpdateAgentInputModel,E as mockCreateAgentHandler,D as mockGetAgentHandler,O as mockListAgentsHandler,k as mockUpdateAgentHandler};
@@ -1 +1 @@
1
- import{MOCK_AGENTS as e,MOCK_RUNS as t,MOCK_RUN_LOGS as n,MOCK_RUN_STEPS as r,MOCK_TOOLS as i}from"./mock-data.js";import{mockCreateAgentHandler as a,mockGetAgentHandler as o,mockListAgentsHandler as s,mockUpdateAgentHandler as c}from"./agent.handlers.js";import{mockCreateToolHandler as l,mockGetToolHandler as u,mockListToolsHandler as d,mockTestToolHandler as f}from"./tool.handlers.js";import{mockCancelRunHandler as p,mockExecuteAgentHandler as m,mockGetRunHandler as h,mockGetRunMetricsHandler as g,mockListRunsHandler as _}from"./run.handlers.js";export{e as MOCK_AGENTS,t as MOCK_RUNS,n as MOCK_RUN_LOGS,r as MOCK_RUN_STEPS,i as MOCK_TOOLS,p as mockCancelRunHandler,a as mockCreateAgentHandler,l as mockCreateToolHandler,m as mockExecuteAgentHandler,o as mockGetAgentHandler,h as mockGetRunHandler,g as mockGetRunMetricsHandler,u as mockGetToolHandler,s as mockListAgentsHandler,_ as mockListRunsHandler,d as mockListToolsHandler,f as mockTestToolHandler,c as mockUpdateAgentHandler};
1
+ import{mockCreateAgentHandler as e,mockGetAgentHandler as t,mockListAgentsHandler as n}from"../agent/agent.handler.js";import{mockExecuteAgentHandler as r,mockGetRunHandler as i,mockListRunsHandler as a}from"../run/run.handler.js";import{mockCreateToolHandler as o,mockGetToolHandler as s,mockListToolsHandler as c}from"../tool/tool.handler.js";export{e as mockCreateAgentHandler,o as mockCreateToolHandler,r as mockExecuteAgentHandler,t as mockGetAgentHandler,i as mockGetRunHandler,s as mockGetToolHandler,n as mockListAgentsHandler,a as mockListRunsHandler,c as mockListToolsHandler};
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{AgentCreatedEvent as e,AgentCreatedPayload as t,AgentToolAssignedEvent as n,AgentToolAssignedPayload as r,AgentToolRemovedEvent as i,AgentToolRemovedPayload as a,AgentUpdatedEvent as o,AgentUpdatedPayload as s,MessageGeneratedEvent as c,MessageGeneratedPayload as l,MessageTypeEnum as u,RunCancelledEvent as d,RunCancelledPayload as f,RunCompletedEvent as p,RunCompletedPayload as m,RunFailedEvent as h,RunFailedPayload as g,RunStartedEvent as _,RunStartedPayload as v,ToolCompletedEvent as y,ToolCompletedPayload as b,ToolCreatedEvent as x,ToolCreatedPayload as S,ToolInvokedEvent as C,ToolInvokedPayload as w,ToolStatusChangedEvent as T,ToolStatusChangedPayload as E,ToolUpdatedEvent as D,ToolUpdatedPayload as O}from"./events.js";import k from"./example.js";import{AgentConsoleFeature as A}from"./feature.js";import{ToolCategoryEnum as j,ToolEntity as M,ToolStatusEnum as N}from"./entities/tool.js";import{AgentEntity as P,AgentStatusEnum as F,AgentToolEntity as I,ModelProviderEnum as L}from"./entities/agent.js";import{LogLevelEnum as R,RunEntity as z,RunLogEntity as B,RunStatusEnum as V,RunStepEntity as H,RunStepTypeEnum as U}from"./entities/run.js";import"./entities/index.js";import{CreateToolCommand as W,GetToolQuery as G,ListToolsQuery as K,TestToolCommand as q,UpdateToolCommand as J}from"./contracts/tool.js";import{AssignToolToAgentCommand as Y,CreateAgentCommand as X,GetAgentQuery as Z,ListAgentsQuery as Q,RemoveToolFromAgentCommand as $,UpdateAgentCommand as ee}from"./contracts/agent.js";import{CancelRunCommand as te,ExecuteAgentCommand as ne,GetRunLogsQuery as re,GetRunMetricsQuery as ie,GetRunQuery as ae,GetRunStepsQuery as oe,ListRunsQuery as se}from"./contracts/run.js";import"./contracts/index.js";import{MOCK_AGENTS as ce,MOCK_RUNS as le,MOCK_RUN_LOGS as ue,MOCK_RUN_STEPS as de,MOCK_TOOLS as fe}from"./handlers/mock-data.js";import{mockCreateAgentHandler as pe,mockGetAgentHandler as me,mockListAgentsHandler as he,mockUpdateAgentHandler as ge}from"./handlers/agent.handlers.js";import{mockCreateToolHandler as _e,mockGetToolHandler as ve,mockListToolsHandler as ye,mockTestToolHandler as be}from"./handlers/tool.handlers.js";import{mockCancelRunHandler as xe,mockExecuteAgentHandler as Se,mockGetRunHandler as Ce,mockGetRunMetricsHandler as we,mockListRunsHandler as Te}from"./handlers/run.handlers.js";import{AgentDetailPresentation as Ee,AgentListPresentation as De}from"./presentations/agent-list.js";import{RunDetailPresentation as Oe,RunListPresentation as ke,RunMetricsPresentation as Ae}from"./presentations/run-list.js";import{ToolDetailPresentation as je,ToolRegistryPresentation as Me}from"./presentations/tool-registry.js";import{AgentConsoleDashboardPresentation as Ne}from"./presentations/dashboard.js";import{AgentConsolePresentations as Pe}from"./presentations/index.js";import"./docs/index.js";export{Ne as AgentConsoleDashboardPresentation,A as AgentConsoleFeature,Pe as AgentConsolePresentations,e as AgentCreatedEvent,t as AgentCreatedPayload,Ee as AgentDetailPresentation,P as AgentEntity,De as AgentListPresentation,F as AgentStatusEnum,n as AgentToolAssignedEvent,r as AgentToolAssignedPayload,I as AgentToolEntity,i as AgentToolRemovedEvent,a as AgentToolRemovedPayload,o as AgentUpdatedEvent,s as AgentUpdatedPayload,Y as AssignToolToAgentCommand,te as CancelRunCommand,X as CreateAgentCommand,W as CreateToolCommand,ne as ExecuteAgentCommand,Z as GetAgentQuery,re as GetRunLogsQuery,ie as GetRunMetricsQuery,ae as GetRunQuery,oe as GetRunStepsQuery,G as GetToolQuery,Q as ListAgentsQuery,se as ListRunsQuery,K as ListToolsQuery,R as LogLevelEnum,ce as MOCK_AGENTS,le as MOCK_RUNS,ue as MOCK_RUN_LOGS,de as MOCK_RUN_STEPS,fe as MOCK_TOOLS,c as MessageGeneratedEvent,l as MessageGeneratedPayload,u as MessageTypeEnum,L as ModelProviderEnum,$ as RemoveToolFromAgentCommand,d as RunCancelledEvent,f as RunCancelledPayload,p as RunCompletedEvent,m as RunCompletedPayload,Oe as RunDetailPresentation,z as RunEntity,h as RunFailedEvent,g as RunFailedPayload,ke as RunListPresentation,B as RunLogEntity,Ae as RunMetricsPresentation,_ as RunStartedEvent,v as RunStartedPayload,V as RunStatusEnum,H as RunStepEntity,U as RunStepTypeEnum,q as TestToolCommand,j as ToolCategoryEnum,y as ToolCompletedEvent,b as ToolCompletedPayload,x as ToolCreatedEvent,S as ToolCreatedPayload,je as ToolDetailPresentation,M as ToolEntity,C as ToolInvokedEvent,w as ToolInvokedPayload,Me as ToolRegistryPresentation,T as ToolStatusChangedEvent,E as ToolStatusChangedPayload,N as ToolStatusEnum,D as ToolUpdatedEvent,O as ToolUpdatedPayload,ee as UpdateAgentCommand,J as UpdateToolCommand,k as example,xe as mockCancelRunHandler,pe as mockCreateAgentHandler,_e as mockCreateToolHandler,Se as mockExecuteAgentHandler,me as mockGetAgentHandler,Ce as mockGetRunHandler,we as mockGetRunMetricsHandler,ve as mockGetToolHandler,he as mockListAgentsHandler,Te as mockListRunsHandler,ye as mockListToolsHandler,be as mockTestToolHandler,ge as mockUpdateAgentHandler};
1
+ import{AgentConsoleFeature as e}from"./agent.feature.js";import t from"./example.js";import{AgentStatusEnum as n,ModelProviderEnum as r,ToolChoiceEnum as i}from"./agent/agent.enum.js";import{AgentModel as a,AgentSummaryModel as o,AgentToolRefModel as s,AgentWithToolsModel as c,CreateAgentInputModel as l,UpdateAgentInputModel as u}from"./agent/agent.schema.js";import{AgentCreatedEvent as d,AgentToolAssignedEvent as f,AgentToolRemovedEvent as p,AgentUpdatedEvent as m}from"./agent/agent.event.js";import{AssignToolToAgentCommand as h,CreateAgentCommand as g,GetAgentQuery as _,ListAgentsQuery as v,RemoveToolFromAgentCommand as y,UpdateAgentCommand as b}from"./agent/agent.contracts.js";import{AgentEntity as x,AgentStatusEntityEnum as S,AgentToolEntity as C,ModelProviderEntityEnum as w}from"./agent/agent.entity.js";import{AgentConsoleDashboardPresentation as T,AgentDetailPresentation as E,AgentListPresentation as D}from"./agent/agent.presentation.js";import{MOCK_AGENTS as O}from"./shared/mock-agents.js";import{MOCK_TOOLS as k}from"./shared/mock-tools.js";import{mockCreateAgentHandler as A,mockGetAgentHandler as j,mockListAgentsHandler as M,mockUpdateAgentHandler as N}from"./agent/agent.handler.js";import"./agent/index.js";import{GranularityEnum as P,LogLevelEnum as F,RunStatusEnum as I,RunStepTypeEnum as L}from"./run/run.enum.js";import{RunAgentRefModel as R,RunInputModel as z,RunLogModel as B,RunModel as V,RunStepModel as H,RunSummaryModel as U,TimelineDataPointModel as W}from"./run/run.schema.js";import{CancelRunCommand as G,ExecuteAgentCommand as K,GetRunLogsQuery as q,GetRunMetricsQuery as J,GetRunQuery as Y,GetRunStepsQuery as X,ListRunsQuery as Z}from"./run/run.contracts.js";import{MessageGeneratedEvent as Q,RunCancelledEvent as $,RunCompletedEvent as ee,RunFailedEvent as te,RunStartedEvent as ne,ToolCompletedEvent as re,ToolInvokedEvent as ie}from"./run/run.event.js";import{LogLevelEntityEnum as ae,RunEntity as oe,RunLogEntity as se,RunStatusEntityEnum as ce,RunStepEntity as le,RunStepTypeEntityEnum as ue}from"./run/run.entity.js";import{RunDetailPresentation as de,RunListPresentation as fe}from"./run/run.presentation.js";import{MOCK_RUNS as pe}from"./shared/mock-runs.js";import{mockCancelRunHandler as me,mockExecuteAgentHandler as he,mockGetRunHandler as ge,mockListRunsHandler as _e}from"./run/run.handler.js";import"./run/index.js";import{ImplementationTypeEnum as ve,ToolCategoryEnum as ye,ToolStatusEnum as be}from"./tool/tool.enum.js";import{CreateToolInputModel as xe,ToolModel as Se,ToolSummaryModel as Ce,UpdateToolInputModel as we}from"./tool/tool.schema.js";import{CreateToolCommand as Te,GetToolQuery as Ee,ListToolsQuery as De,TestToolCommand as Oe,UpdateToolCommand as ke}from"./tool/tool.contracts.js";import{ToolCreatedEvent as Ae,ToolStatusChangedEvent as je,ToolUpdatedEvent as Me}from"./tool/tool.event.js";import{ImplementationTypeEntityEnum as Ne,ToolCategoryEntityEnum as Pe,ToolEntity as Fe,ToolStatusEntityEnum as Ie}from"./tool/tool.entity.js";import{ToolDetailPresentation as Le,ToolListPresentation as Re}from"./tool/tool.presentation.js";import{mockCreateToolHandler as ze,mockGetToolHandler as Be,mockListToolsHandler as Ve,mockTestToolHandler as He,mockUpdateToolHandler as Ue}from"./tool/tool.handler.js";import"./tool/index.js";import"./docs/index.js";export{T as AgentConsoleDashboardPresentation,e as AgentConsoleFeature,d as AgentCreatedEvent,E as AgentDetailPresentation,x as AgentEntity,D as AgentListPresentation,a as AgentModel,S as AgentStatusEntityEnum,n as AgentStatusEnum,o as AgentSummaryModel,f as AgentToolAssignedEvent,C as AgentToolEntity,s as AgentToolRefModel,p as AgentToolRemovedEvent,m as AgentUpdatedEvent,c as AgentWithToolsModel,h as AssignToolToAgentCommand,G as CancelRunCommand,g as CreateAgentCommand,l as CreateAgentInputModel,Te as CreateToolCommand,xe as CreateToolInputModel,K as ExecuteAgentCommand,_ as GetAgentQuery,q as GetRunLogsQuery,J as GetRunMetricsQuery,Y as GetRunQuery,X as GetRunStepsQuery,Ee as GetToolQuery,P as GranularityEnum,Ne as ImplementationTypeEntityEnum,ve as ImplementationTypeEnum,v as ListAgentsQuery,Z as ListRunsQuery,De as ListToolsQuery,ae as LogLevelEntityEnum,F as LogLevelEnum,O as MOCK_AGENTS,pe as MOCK_RUNS,k as MOCK_TOOLS,Q as MessageGeneratedEvent,w as ModelProviderEntityEnum,r as ModelProviderEnum,y as RemoveToolFromAgentCommand,R as RunAgentRefModel,$ as RunCancelledEvent,ee as RunCompletedEvent,de as RunDetailPresentation,oe as RunEntity,te as RunFailedEvent,z as RunInputModel,fe as RunListPresentation,se as RunLogEntity,B as RunLogModel,V as RunModel,ne as RunStartedEvent,ce as RunStatusEntityEnum,I as RunStatusEnum,le as RunStepEntity,H as RunStepModel,ue as RunStepTypeEntityEnum,L as RunStepTypeEnum,U as RunSummaryModel,Oe as TestToolCommand,W as TimelineDataPointModel,Pe as ToolCategoryEntityEnum,ye as ToolCategoryEnum,i as ToolChoiceEnum,re as ToolCompletedEvent,Ae as ToolCreatedEvent,Le as ToolDetailPresentation,Fe as ToolEntity,ie as ToolInvokedEvent,Re as ToolListPresentation,Se as ToolModel,je as ToolStatusChangedEvent,Ie as ToolStatusEntityEnum,be as ToolStatusEnum,Ce as ToolSummaryModel,Me as ToolUpdatedEvent,b as UpdateAgentCommand,u as UpdateAgentInputModel,ke as UpdateToolCommand,we as UpdateToolInputModel,t as example,me as mockCancelRunHandler,A as mockCreateAgentHandler,ze as mockCreateToolHandler,he as mockExecuteAgentHandler,j as mockGetAgentHandler,ge as mockGetRunHandler,Be as mockGetToolHandler,M as mockListAgentsHandler,_e as mockListRunsHandler,Ve as mockListToolsHandler,He as mockTestToolHandler,N as mockUpdateAgentHandler,Ue as mockUpdateToolHandler};
@@ -1 +1 @@
1
- import{AgentDetailPresentation as e,AgentListPresentation as t}from"./agent-list.js";import{RunDetailPresentation as n,RunListPresentation as r,RunMetricsPresentation as i}from"./run-list.js";import{ToolDetailPresentation as a,ToolRegistryPresentation as o}from"./tool-registry.js";import{AgentConsoleDashboardPresentation as s}from"./dashboard.js";const c=[s,t,e,r,n,i,o,a];export{s as AgentConsoleDashboardPresentation,c as AgentConsolePresentations,e as AgentDetailPresentation,t as AgentListPresentation,n as RunDetailPresentation,r as RunListPresentation,i as RunMetricsPresentation,a as ToolDetailPresentation,o as ToolRegistryPresentation};
1
+ import{AgentConsoleDashboardPresentation as e,AgentDetailPresentation as t,AgentListPresentation as n}from"../agent/agent.presentation.js";import{RunDetailPresentation as r,RunListPresentation as i}from"../run/run.presentation.js";import{ToolDetailPresentation as a,ToolListPresentation as o}from"../tool/tool.presentation.js";export{e as AgentConsoleDashboardPresentation,t as AgentDetailPresentation,n as AgentListPresentation,r as RunDetailPresentation,i as RunListPresentation,r as RunMetricsPresentation,a as ToolDetailPresentation,o as ToolListPresentation,o as ToolRegistryPresentation};
@@ -0,0 +1 @@
1
+ import{GranularityEnum as e,LogLevelEnum as t,RunStatusEnum as n,RunStepTypeEnum as r}from"./run.enum.js";import{RunAgentRefModel as i,RunInputModel as a,RunLogModel as o,RunModel as s,RunStepModel as c,RunSummaryModel as l,TimelineDataPointModel as u}from"./run.schema.js";import{CancelRunCommand as d,ExecuteAgentCommand as f,GetRunLogsQuery as p,GetRunMetricsQuery as m,GetRunQuery as h,GetRunStepsQuery as g,ListRunsQuery as _}from"./run.contracts.js";import{MessageGeneratedEvent as v,RunCancelledEvent as y,RunCompletedEvent as b,RunFailedEvent as x,RunStartedEvent as S,ToolCompletedEvent as C,ToolInvokedEvent as w}from"./run.event.js";import{LogLevelEntityEnum as T,RunEntity as E,RunLogEntity as D,RunStatusEntityEnum as O,RunStepEntity as k,RunStepTypeEntityEnum as A}from"./run.entity.js";import{RunDetailPresentation as j,RunListPresentation as M}from"./run.presentation.js";import{mockCancelRunHandler as N,mockExecuteAgentHandler as P,mockGetRunHandler as F,mockListRunsHandler as I}from"./run.handler.js";export{d as CancelRunCommand,f as ExecuteAgentCommand,p as GetRunLogsQuery,m as GetRunMetricsQuery,h as GetRunQuery,g as GetRunStepsQuery,e as GranularityEnum,_ as ListRunsQuery,T as LogLevelEntityEnum,t as LogLevelEnum,v as MessageGeneratedEvent,i as RunAgentRefModel,y as RunCancelledEvent,b as RunCompletedEvent,j as RunDetailPresentation,E as RunEntity,x as RunFailedEvent,a as RunInputModel,M as RunListPresentation,D as RunLogEntity,o as RunLogModel,s as RunModel,S as RunStartedEvent,O as RunStatusEntityEnum,n as RunStatusEnum,k as RunStepEntity,c as RunStepModel,A as RunStepTypeEntityEnum,r as RunStepTypeEnum,l as RunSummaryModel,u as TimelineDataPointModel,C as ToolCompletedEvent,w as ToolInvokedEvent,N as mockCancelRunHandler,P as mockExecuteAgentHandler,F as mockGetRunHandler,I as mockListRunsHandler};
@@ -0,0 +1 @@
1
+ import{GranularityEnum as e,LogLevelEnum as t,RunStatusEnum as n}from"./run.enum.js";import{RunInputModel as r,RunLogModel as i,RunModel as a,RunStepModel as o,RunSummaryModel as s,TimelineDataPointModel as c}from"./run.schema.js";import{ScalarTypeEnum as l,defineSchemaModel as u}from"@lssm/lib.schema";import{defineCommand as d,defineQuery as f}from"@lssm/lib.contracts/spec";const p=[`agent-console-team`],m=d({meta:{name:`agent.run.execute`,version:1,stability:`stable`,owners:[...p],tags:[`run`,`execute`],description:`Starts a new agent run with the given input.`,goal:`Execute an AI agent with user input.`,context:`Called from chat interface or API.`},io:{input:u({name:`ExecuteAgentInput`,fields:{agentId:{type:l.String_unsecure(),isOptional:!1},input:{type:r,isOptional:!1},sessionId:{type:l.String_unsecure(),isOptional:!0},metadata:{type:l.JSONObject(),isOptional:!0},stream:{type:l.Boolean(),isOptional:!0},maxIterations:{type:l.Int_unsecure(),isOptional:!0},timeoutMs:{type:l.Int_unsecure(),isOptional:!0}}}),output:u({name:`ExecuteAgentOutput`,fields:{runId:{type:l.String_unsecure(),isOptional:!1},status:{type:n,isOptional:!1},estimatedWaitMs:{type:l.Int_unsecure(),isOptional:!0}}}),errors:{AGENT_NOT_FOUND:{description:`The specified agent does not exist`,http:404,gqlCode:`AGENT_NOT_FOUND`,when:`Agent ID is invalid`},AGENT_NOT_ACTIVE:{description:`The specified agent is not active`,http:400,gqlCode:`AGENT_NOT_ACTIVE`,when:`Agent is in draft/paused/archived state`}}},policy:{auth:`user`},sideEffects:{emits:[{name:`run.started`,version:1,when:`Run is queued`,payload:s}],audit:[`run.started`]}}),h=d({meta:{name:`agent.run.cancel`,version:1,stability:`stable`,owners:[...p],tags:[`run`,`cancel`],description:`Cancels an in-progress agent run.`,goal:`Stop a running agent execution.`,context:`Called when user wants to abort a long-running task.`},io:{input:u({name:`CancelRunInput`,fields:{runId:{type:l.String_unsecure(),isOptional:!1},reason:{type:l.String_unsecure(),isOptional:!0}}}),output:u({name:`CancelRunOutput`,fields:{success:{type:l.Boolean(),isOptional:!1},status:{type:n,isOptional:!1}}}),errors:{RUN_NOT_FOUND:{description:`The specified run does not exist`,http:404,gqlCode:`RUN_NOT_FOUND`,when:`Run ID is invalid`},RUN_NOT_CANCELLABLE:{description:`The run cannot be cancelled`,http:400,gqlCode:`RUN_NOT_CANCELLABLE`,when:`Run is already completed/failed/cancelled`}}},policy:{auth:`user`},sideEffects:{emits:[{name:`run.cancelled`,version:1,when:`Run is cancelled`,payload:s}],audit:[`run.cancelled`]}}),g=f({meta:{name:`agent.run.get`,version:1,stability:`stable`,owners:[...p],tags:[`run`,`get`],description:`Retrieves a run by its ID with optional details.`,goal:`View detailed run information.`,context:`Run details page or monitoring.`},io:{input:u({name:`GetRunInput`,fields:{runId:{type:l.String_unsecure(),isOptional:!1},includeSteps:{type:l.Boolean(),isOptional:!0},includeLogs:{type:l.Boolean(),isOptional:!0}}}),output:a,errors:{RUN_NOT_FOUND:{description:`The specified run does not exist`,http:404,gqlCode:`RUN_NOT_FOUND`,when:`Run ID is invalid`}}},policy:{auth:`user`}}),_=f({meta:{name:`agent.run.list`,version:1,stability:`stable`,owners:[...p],tags:[`run`,`list`],description:`Lists runs with optional filtering.`,goal:`Browse and search run history.`,context:`Run history/dashboard view.`},io:{input:u({name:`ListRunsInput`,fields:{organizationId:{type:l.String_unsecure(),isOptional:!0},agentId:{type:l.String_unsecure(),isOptional:!0},userId:{type:l.String_unsecure(),isOptional:!0},sessionId:{type:l.String_unsecure(),isOptional:!0},status:{type:n,isOptional:!0},startDate:{type:l.DateTime(),isOptional:!0},endDate:{type:l.DateTime(),isOptional:!0},limit:{type:l.Int_unsecure(),isOptional:!0,defaultValue:20},offset:{type:l.Int_unsecure(),isOptional:!0,defaultValue:0}}}),output:u({name:`ListRunsOutput`,fields:{items:{type:s,isArray:!0,isOptional:!1},total:{type:l.Int_unsecure(),isOptional:!1},hasMore:{type:l.Boolean(),isOptional:!1}}})},policy:{auth:`user`}}),v=f({meta:{name:`agent.run.getSteps`,version:1,stability:`stable`,owners:[...p],tags:[`run`,`steps`],description:`Retrieves all steps for a specific run.`,goal:`View step-by-step execution details.`,context:`Run details page - steps tab.`},io:{input:u({name:`GetRunStepsInput`,fields:{runId:{type:l.String_unsecure(),isOptional:!1}}}),output:u({name:`GetRunStepsOutput`,fields:{steps:{type:o,isArray:!0,isOptional:!1}}})},policy:{auth:`user`}}),y=f({meta:{name:`agent.run.getLogs`,version:1,stability:`stable`,owners:[...p],tags:[`run`,`logs`],description:`Retrieves all logs for a specific run.`,goal:`Debug and audit run execution.`,context:`Run details page - logs tab.`},io:{input:u({name:`GetRunLogsInput`,fields:{runId:{type:l.String_unsecure(),isOptional:!1},level:{type:t,isOptional:!0},stepId:{type:l.String_unsecure(),isOptional:!0},limit:{type:l.Int_unsecure(),isOptional:!0,defaultValue:100},offset:{type:l.Int_unsecure(),isOptional:!0,defaultValue:0}}}),output:u({name:`GetRunLogsOutput`,fields:{items:{type:i,isArray:!0,isOptional:!1},total:{type:l.Int_unsecure(),isOptional:!1},hasMore:{type:l.Boolean(),isOptional:!1}}})},policy:{auth:`user`}}),b=f({meta:{name:`agent.run.getMetrics`,version:1,stability:`stable`,owners:[...p],tags:[`run`,`metrics`],description:`Retrieves aggregated metrics for runs within a time period.`,goal:`Monitor and analyze agent usage.`,context:`Analytics dashboard.`},io:{input:u({name:`GetRunMetricsInput`,fields:{organizationId:{type:l.String_unsecure(),isOptional:!1},agentId:{type:l.String_unsecure(),isOptional:!0},startDate:{type:l.DateTime(),isOptional:!1},endDate:{type:l.DateTime(),isOptional:!1},granularity:{type:e,isOptional:!0,defaultValue:`day`}}}),output:u({name:`GetRunMetricsOutput`,fields:{totalRuns:{type:l.Int_unsecure(),isOptional:!1},completedRuns:{type:l.Int_unsecure(),isOptional:!1},failedRuns:{type:l.Int_unsecure(),isOptional:!1},totalTokens:{type:l.Int_unsecure(),isOptional:!1},totalCostUsd:{type:l.Float_unsecure(),isOptional:!1},averageDurationMs:{type:l.Float_unsecure(),isOptional:!1},successRate:{type:l.Float_unsecure(),isOptional:!1},timeline:{type:c,isArray:!0,isOptional:!1}}})},policy:{auth:`user`}});export{h as CancelRunCommand,m as ExecuteAgentCommand,y as GetRunLogsQuery,b as GetRunMetricsQuery,g as GetRunQuery,v as GetRunStepsQuery,_ as ListRunsQuery};
@@ -0,0 +1 @@
1
+ import{defineEntity as e,defineEntityEnum as t,field as n,index as r}from"@lssm/lib.schema/entity";const i=t({name:`RunStatus`,values:[`QUEUED`,`IN_PROGRESS`,`COMPLETED`,`FAILED`,`CANCELLED`,`EXPIRED`],description:`Status of an agent run`}),a=t({name:`RunStepType`,values:[`MESSAGE_CREATION`,`TOOL_CALL`,`TOOL_RESULT`,`ERROR`],description:`Type of run step`}),o=t({name:`LogLevel`,values:[`DEBUG`,`INFO`,`WARN`,`ERROR`],description:`Log level`}),s=e({name:`Run`,schema:`agent_console`,description:`An execution of an agent with input/output and metrics.`,fields:{id:n.id(),organizationId:n.string({description:`Organization ID`}),agentId:n.foreignKey({description:`Agent being executed`}),userId:n.string({isOptional:!0,description:`User who initiated the run`}),sessionId:n.string({isOptional:!0,description:`Conversation session ID`}),input:n.json({description:`Input data for the run`}),output:n.json({isOptional:!0,description:`Output result from the run`}),status:n.enum(`RunStatus`,{default:`QUEUED`}),errorMessage:n.string({isOptional:!0,description:`Error message if failed`}),errorCode:n.string({isOptional:!0,description:`Error code if failed`}),totalTokens:n.int({default:0,description:`Total tokens used`}),promptTokens:n.int({default:0,description:`Prompt tokens used`}),completionTokens:n.int({default:0,description:`Completion tokens used`}),totalIterations:n.int({default:0,description:`Number of iterations`}),durationMs:n.int({isOptional:!0,description:`Execution duration in ms`}),estimatedCostUsd:n.float({isOptional:!0,description:`Estimated cost in USD`}),queuedAt:n.dateTime({description:`When run was queued`}),startedAt:n.dateTime({isOptional:!0,description:`When run started executing`}),completedAt:n.dateTime({isOptional:!0,description:`When run completed`}),metadata:n.json({isOptional:!0,description:`Additional metadata`}),agent:n.belongsTo(`Agent`,[`agentId`],[`id`]),steps:n.hasMany(`RunStep`,{description:`Execution steps`}),logs:n.hasMany(`RunLog`,{description:`Execution logs`})},indexes:[r.on([`organizationId`,`agentId`,`queuedAt`]),r.on([`organizationId`,`status`]),r.on([`agentId`,`status`]),r.on([`sessionId`])],enums:[i]}),c=e({name:`RunStep`,schema:`agent_console`,description:`An individual step in an agent run.`,fields:{id:n.id(),runId:n.foreignKey({description:`Parent run`}),stepNumber:n.int({description:`Step sequence number`}),type:n.enum(`RunStepType`),toolId:n.string({isOptional:!0,description:`Tool used in this step`}),toolName:n.string({isOptional:!0,description:`Tool name`}),input:n.json({isOptional:!0,description:`Step input`}),output:n.json({isOptional:!0,description:`Step output`}),status:n.enum(`RunStatus`),errorMessage:n.string({isOptional:!0}),tokensUsed:n.int({default:0}),durationMs:n.int({isOptional:!0}),startedAt:n.dateTime(),completedAt:n.dateTime({isOptional:!0}),run:n.belongsTo(`Run`,[`runId`],[`id`])},indexes:[r.on([`runId`,`stepNumber`])],enums:[a]}),l=e({name:`RunLog`,schema:`agent_console`,description:`A log entry for an agent run.`,fields:{id:n.id(),runId:n.foreignKey({description:`Parent run`}),stepId:n.string({isOptional:!0,description:`Related step`}),level:n.enum(`LogLevel`),message:n.string({description:`Log message`}),data:n.json({isOptional:!0,description:`Additional log data`}),source:n.string({isOptional:!0,description:`Log source component`}),traceId:n.string({isOptional:!0}),spanId:n.string({isOptional:!0}),timestamp:n.dateTime(),run:n.belongsTo(`Run`,[`runId`],[`id`])},indexes:[r.on([`runId`,`timestamp`]),r.on([`runId`,`level`])],enums:[o]});export{o as LogLevelEntityEnum,s as RunEntity,l as RunLogEntity,i as RunStatusEntityEnum,c as RunStepEntity,a as RunStepTypeEntityEnum};
@@ -0,0 +1 @@
1
+ import{defineEnum as e}from"@lssm/lib.schema";const t=e(`RunStatus`,[`QUEUED`,`IN_PROGRESS`,`COMPLETED`,`FAILED`,`CANCELLED`,`EXPIRED`]),n=e(`RunStepType`,[`MESSAGE_CREATION`,`TOOL_CALL`,`TOOL_RESULT`,`ERROR`]),r=e(`LogLevel`,[`DEBUG`,`INFO`,`WARN`,`ERROR`]),i=e(`Granularity`,[`hour`,`day`,`week`,`month`]);export{i as GranularityEnum,r as LogLevelEnum,t as RunStatusEnum,n as RunStepTypeEnum};
@@ -0,0 +1 @@
1
+ import{ScalarTypeEnum as e,defineEnum as t}from"@lssm/lib.schema";import{defineEvent as n,defineSchemaModel as r}from"@lssm/lib.contracts";const i=n({name:`agent.run.started`,version:1,description:`An agent run was started.`,payload:r({name:`RunStartedPayload`,description:`Payload for run started event`,fields:{runId:{type:e.String_unsecure(),isOptional:!1},organizationId:{type:e.String_unsecure(),isOptional:!1},agentId:{type:e.String_unsecure(),isOptional:!1},agentName:{type:e.String_unsecure(),isOptional:!1},userId:{type:e.String_unsecure(),isOptional:!0},sessionId:{type:e.String_unsecure(),isOptional:!0},input:{type:e.JSONObject(),isOptional:!1},startedAt:{type:e.DateTime(),isOptional:!1}}})}),a=n({name:`agent.run.completed`,version:1,description:`An agent run completed successfully.`,payload:r({name:`RunCompletedPayload`,description:`Payload for run completed event`,fields:{runId:{type:e.String_unsecure(),isOptional:!1},organizationId:{type:e.String_unsecure(),isOptional:!1},agentId:{type:e.String_unsecure(),isOptional:!1},agentName:{type:e.String_unsecure(),isOptional:!1},userId:{type:e.String_unsecure(),isOptional:!0},output:{type:e.JSONObject(),isOptional:!1},totalTokens:{type:e.Int_unsecure(),isOptional:!1},promptTokens:{type:e.Int_unsecure(),isOptional:!1},completionTokens:{type:e.Int_unsecure(),isOptional:!1},totalIterations:{type:e.Int_unsecure(),isOptional:!1},durationMs:{type:e.Int_unsecure(),isOptional:!1},estimatedCostUsd:{type:e.Float_unsecure(),isOptional:!0},completedAt:{type:e.DateTime(),isOptional:!1}}})}),o=n({name:`agent.run.failed`,version:1,description:`An agent run encountered an error.`,payload:r({name:`RunFailedPayload`,description:`Payload for run failed event`,fields:{runId:{type:e.String_unsecure(),isOptional:!1},organizationId:{type:e.String_unsecure(),isOptional:!1},agentId:{type:e.String_unsecure(),isOptional:!1},agentName:{type:e.String_unsecure(),isOptional:!1},userId:{type:e.String_unsecure(),isOptional:!0},errorMessage:{type:e.String_unsecure(),isOptional:!1},errorCode:{type:e.String_unsecure(),isOptional:!0},totalTokens:{type:e.Int_unsecure(),isOptional:!1},totalIterations:{type:e.Int_unsecure(),isOptional:!1},durationMs:{type:e.Int_unsecure(),isOptional:!0},failedAt:{type:e.DateTime(),isOptional:!1}}})}),s=n({name:`agent.run.cancelled`,version:1,description:`An agent run was cancelled by the user.`,payload:r({name:`RunCancelledPayload`,description:`Payload for run cancelled event`,fields:{runId:{type:e.String_unsecure(),isOptional:!1},organizationId:{type:e.String_unsecure(),isOptional:!1},agentId:{type:e.String_unsecure(),isOptional:!1},userId:{type:e.String_unsecure(),isOptional:!0},cancelledBy:{type:e.String_unsecure(),isOptional:!0},reason:{type:e.String_unsecure(),isOptional:!0},totalTokens:{type:e.Int_unsecure(),isOptional:!1},totalIterations:{type:e.Int_unsecure(),isOptional:!1},cancelledAt:{type:e.DateTime(),isOptional:!1}}})}),c=n({name:`agent.run.toolInvoked`,version:1,description:`A tool was invoked during an agent run.`,payload:r({name:`ToolInvokedPayload`,description:`Payload for tool invoked event`,fields:{runId:{type:e.String_unsecure(),isOptional:!1},stepId:{type:e.String_unsecure(),isOptional:!1},toolId:{type:e.String_unsecure(),isOptional:!1},toolName:{type:e.String_unsecure(),isOptional:!1},input:{type:e.JSONObject(),isOptional:!1},invokedAt:{type:e.DateTime(),isOptional:!1}}})}),l=n({name:`agent.run.toolCompleted`,version:1,description:`A tool invocation completed during an agent run.`,payload:r({name:`ToolCompletedPayload`,description:`Payload for tool completed event`,fields:{runId:{type:e.String_unsecure(),isOptional:!1},stepId:{type:e.String_unsecure(),isOptional:!1},toolId:{type:e.String_unsecure(),isOptional:!1},toolName:{type:e.String_unsecure(),isOptional:!1},success:{type:e.Boolean(),isOptional:!1},output:{type:e.JSONObject(),isOptional:!0},errorMessage:{type:e.String_unsecure(),isOptional:!0},durationMs:{type:e.Int_unsecure(),isOptional:!1},completedAt:{type:e.DateTime(),isOptional:!1}}})}),u=t(`MessageType`,[`assistant`,`system`]),d=n({name:`agent.run.messageGenerated`,version:1,description:`An agent generated a message during a run.`,payload:r({name:`MessageGeneratedPayload`,description:`Payload for message generated event`,fields:{runId:{type:e.String_unsecure(),isOptional:!1},stepId:{type:e.String_unsecure(),isOptional:!1},messageType:{type:u,isOptional:!1},content:{type:e.String_unsecure(),isOptional:!1},tokensUsed:{type:e.Int_unsecure(),isOptional:!1},generatedAt:{type:e.DateTime(),isOptional:!1}}})});export{d as MessageGeneratedEvent,s as RunCancelledEvent,a as RunCompletedEvent,o as RunFailedEvent,i as RunStartedEvent,l as ToolCompletedEvent,c as ToolInvokedEvent};
@@ -0,0 +1 @@
1
+ import{MOCK_AGENTS as e}from"../shared/mock-agents.js";import{MOCK_RUNS as t}from"../shared/mock-runs.js";async function n(n){let{agentId:r,status:i,limit:a=20,offset:o=0}=n,s=[...t];r&&(s=s.filter(e=>e.agentId===r)),i&&(s=s.filter(e=>e.status===i));let c=s.length;return{items:s.slice(o,o+a).map(t=>{let n=e.find(e=>e.id===t.agentId);return{id:t.id,agentId:t.agentId,agentName:n?.name??`Unknown`,status:t.status,totalTokens:t.totalTokens,durationMs:t.durationMs,estimatedCostUsd:t.estimatedCostUsd,queuedAt:t.queuedAt,completedAt:t.completedAt}}),total:c,hasMore:o+a<c}}async function r(n){let r=t.find(e=>e.id===n.runId);if(!r)throw Error(`RUN_NOT_FOUND`);let i=e.find(e=>e.id===r.agentId);return{...r,agent:i?{id:i.id,name:i.name,modelProvider:i.modelProvider,modelName:i.modelName}:void 0,steps:n.includeSteps?r.steps:void 0,logs:n.includeLogs?r.logs:void 0}}async function i(t){let n=e.find(e=>e.id===t.agentId);if(!n)throw Error(`AGENT_NOT_FOUND`);if(n.status!==`ACTIVE`)throw Error(`AGENT_NOT_ACTIVE`);return{runId:`run-${Date.now()}`,status:`QUEUED`,estimatedWaitMs:500}}async function a(e){let n=t.find(t=>t.id===e.runId);if(!n)throw Error(`RUN_NOT_FOUND`);if(![`QUEUED`,`IN_PROGRESS`].includes(n.status))throw Error(`RUN_NOT_CANCELLABLE`);return{success:!0,status:`CANCELLED`}}export{a as mockCancelRunHandler,i as mockExecuteAgentHandler,r as mockGetRunHandler,n as mockListRunsHandler};
@@ -0,0 +1 @@
1
+ import{RunSummaryModel as e}from"./run.schema.js";const t={meta:{name:`agent-console.run.list`,version:1,description:`List view of agent runs with status, tokens, and duration info`,domain:`agent-console`,owners:[`agent-console-team`],tags:[`run`,`list`,`dashboard`]},source:{type:`component`,framework:`react`,componentKey:`RunListView`,props:e},targets:[`react`,`markdown`,`application/json`],policy:{flags:[`agent-console.enabled`]}},n={meta:{name:`agent-console.run.detail`,version:1,description:`Detailed view of an agent run with steps, logs, and metrics`,domain:`agent-console`,owners:[`agent-console-team`],tags:[`run`,`detail`]},source:{type:`component`,framework:`react`,componentKey:`RunDetailView`},targets:[`react`,`markdown`],policy:{flags:[`agent-console.enabled`]}};export{n as RunDetailPresentation,t as RunListPresentation};
@@ -0,0 +1 @@
1
+ import{LogLevelEnum as e,RunStatusEnum as t,RunStepTypeEnum as n}from"./run.enum.js";import{ScalarTypeEnum as r,defineSchemaModel as i}from"@lssm/lib.schema";const a=i({name:`RunInput`,description:`Input data for agent execution`,fields:{message:{type:r.NonEmptyString(),isOptional:!1},context:{type:r.JSONObject(),isOptional:!0}}}),o=i({name:`RunStep`,description:`Individual step within a run`,fields:{id:{type:r.String_unsecure(),isOptional:!1},stepNumber:{type:r.Int_unsecure(),isOptional:!1},type:{type:n,isOptional:!1},toolId:{type:r.String_unsecure(),isOptional:!0},toolName:{type:r.String_unsecure(),isOptional:!0},input:{type:r.JSONObject(),isOptional:!0},output:{type:r.JSONObject(),isOptional:!0},status:{type:t,isOptional:!1},errorMessage:{type:r.String_unsecure(),isOptional:!0},tokensUsed:{type:r.Int_unsecure(),isOptional:!1,defaultValue:0},durationMs:{type:r.Int_unsecure(),isOptional:!0},startedAt:{type:r.DateTime(),isOptional:!1},completedAt:{type:r.DateTime(),isOptional:!0}}}),s=i({name:`RunLog`,description:`Execution log entry`,fields:{id:{type:r.String_unsecure(),isOptional:!1},stepId:{type:r.String_unsecure(),isOptional:!0},level:{type:e,isOptional:!1},message:{type:r.String_unsecure(),isOptional:!1},data:{type:r.JSONObject(),isOptional:!0},source:{type:r.String_unsecure(),isOptional:!0},traceId:{type:r.String_unsecure(),isOptional:!0},spanId:{type:r.String_unsecure(),isOptional:!0},timestamp:{type:r.DateTime(),isOptional:!1}}}),c=i({name:`RunAgentRef`,description:`Agent reference in a run`,fields:{id:{type:r.String_unsecure(),isOptional:!1},name:{type:r.NonEmptyString(),isOptional:!1},modelProvider:{type:r.String_unsecure(),isOptional:!1},modelName:{type:r.String_unsecure(),isOptional:!1}}}),l=i({name:`Run`,description:`Agent execution instance`,fields:{id:{type:r.String_unsecure(),isOptional:!1},organizationId:{type:r.String_unsecure(),isOptional:!1},agentId:{type:r.String_unsecure(),isOptional:!1},userId:{type:r.String_unsecure(),isOptional:!0},sessionId:{type:r.String_unsecure(),isOptional:!0},input:{type:r.JSONObject(),isOptional:!1},output:{type:r.JSONObject(),isOptional:!0},status:{type:t,isOptional:!1},errorMessage:{type:r.String_unsecure(),isOptional:!0},errorCode:{type:r.String_unsecure(),isOptional:!0},totalTokens:{type:r.Int_unsecure(),isOptional:!1,defaultValue:0},promptTokens:{type:r.Int_unsecure(),isOptional:!1,defaultValue:0},completionTokens:{type:r.Int_unsecure(),isOptional:!1,defaultValue:0},totalIterations:{type:r.Int_unsecure(),isOptional:!1,defaultValue:0},durationMs:{type:r.Int_unsecure(),isOptional:!0},estimatedCostUsd:{type:r.Float_unsecure(),isOptional:!0},queuedAt:{type:r.DateTime(),isOptional:!1},startedAt:{type:r.DateTime(),isOptional:!0},completedAt:{type:r.DateTime(),isOptional:!0},metadata:{type:r.JSONObject(),isOptional:!0},steps:{type:o,isArray:!0,isOptional:!0},logs:{type:s,isArray:!0,isOptional:!0},agent:{type:c,isOptional:!0}}}),u=i({name:`RunSummary`,description:`Summary of a run for list views`,fields:{id:{type:r.String_unsecure(),isOptional:!1},agentId:{type:r.String_unsecure(),isOptional:!1},agentName:{type:r.NonEmptyString(),isOptional:!1},status:{type:t,isOptional:!1},totalTokens:{type:r.Int_unsecure(),isOptional:!1},durationMs:{type:r.Int_unsecure(),isOptional:!0},estimatedCostUsd:{type:r.Float_unsecure(),isOptional:!0},queuedAt:{type:r.DateTime(),isOptional:!1},completedAt:{type:r.DateTime(),isOptional:!0}}}),d=i({name:`TimelineDataPoint`,description:`Timeline data point for metrics`,fields:{period:{type:r.String_unsecure(),isOptional:!1},runs:{type:r.Int_unsecure(),isOptional:!1},tokens:{type:r.Int_unsecure(),isOptional:!1},costUsd:{type:r.Float_unsecure(),isOptional:!1},avgDurationMs:{type:r.Float_unsecure(),isOptional:!1}}});export{c as RunAgentRefModel,a as RunInputModel,s as RunLogModel,l as RunModel,o as RunStepModel,u as RunSummaryModel,d as TimelineDataPointModel};
@@ -0,0 +1 @@
1
+ import{MOCK_AGENTS as e}from"./mock-agents.js";import{MOCK_TOOLS as t}from"./mock-tools.js";import{MOCK_RUNS as n}from"./mock-runs.js";export{e as MOCK_AGENTS,n as MOCK_RUNS,t as MOCK_TOOLS};
@@ -0,0 +1 @@
1
+ const e=[{id:`agent-1`,organizationId:`demo-org`,name:`Customer Support Bot`,slug:`customer-support-bot`,description:`Handles tier-1 customer inquiries and routes complex issues.`,status:`ACTIVE`,modelProvider:`OPENAI`,modelName:`gpt-4o-mini`,modelConfig:{temperature:.7},systemPrompt:`You are a helpful customer support assistant.`,toolChoice:`auto`,maxIterations:10,timeoutMs:12e4,version:`1.0.0`,tags:[`support`,`tier-1`],createdAt:new Date(`2024-01-15T10:00:00Z`),updatedAt:new Date(`2024-03-20T14:30:00Z`)},{id:`agent-2`,organizationId:`demo-org`,name:`Code Review Assistant`,slug:`code-review-assistant`,description:`Reviews pull requests and provides actionable feedback.`,status:`ACTIVE`,modelProvider:`ANTHROPIC`,modelName:`claude-sonnet-4-20250514`,modelConfig:{temperature:.3},systemPrompt:`You are a code review expert.`,toolChoice:`auto`,maxIterations:15,timeoutMs:18e4,version:`2.1.0`,tags:[`code`,`review`,`dev`],createdAt:new Date(`2024-02-10T09:00:00Z`),updatedAt:new Date(`2024-04-05T11:15:00Z`)},{id:`agent-3`,organizationId:`demo-org`,name:`Data Analyst`,slug:`data-analyst`,description:`Queries databases and generates insights from data.`,status:`PAUSED`,modelProvider:`OPENAI`,modelName:`gpt-4o`,modelConfig:{temperature:.5},systemPrompt:`You are a data analyst expert in SQL and analytics.`,toolChoice:`required`,maxIterations:20,timeoutMs:3e5,version:`1.2.0`,tags:[`data`,`analytics`,`sql`],createdAt:new Date(`2024-03-01T08:00:00Z`),updatedAt:new Date(`2024-04-10T16:45:00Z`)},{id:`agent-4`,organizationId:`demo-org`,name:`Meeting Scheduler`,slug:`meeting-scheduler`,description:`Schedules meetings and manages calendar conflicts.`,status:`DRAFT`,modelProvider:`GOOGLE`,modelName:`gemini-2.0-flash`,modelConfig:{temperature:.2},systemPrompt:`You help schedule and organize meetings efficiently.`,toolChoice:`auto`,maxIterations:5,timeoutMs:6e4,version:`0.1.0`,tags:[`calendar`,`scheduling`],createdAt:new Date(`2024-04-01T12:00:00Z`),updatedAt:new Date(`2024-04-01T12:00:00Z`)}];export{e as MOCK_AGENTS};
@@ -0,0 +1 @@
1
+ const e=[{id:`run-1`,organizationId:`demo-org`,agentId:`agent-1`,agentName:`Customer Support Bot`,userId:`user-1`,sessionId:`session-1`,input:{message:`How do I reset my password?`,context:{}},output:{response:`You can reset your password by clicking...`},status:`COMPLETED`,totalTokens:1250,promptTokens:800,completionTokens:450,totalIterations:3,durationMs:4500,estimatedCostUsd:.0025,queuedAt:new Date(`2024-04-15T10:00:00Z`),startedAt:new Date(`2024-04-15T10:00:01Z`),completedAt:new Date(`2024-04-15T10:00:05Z`),steps:[],logs:[]},{id:`run-2`,organizationId:`demo-org`,agentId:`agent-2`,agentName:`Code Review Assistant`,userId:`user-2`,input:{message:`Review PR #123`,context:{prNumber:123}},status:`IN_PROGRESS`,totalTokens:3500,promptTokens:3e3,completionTokens:500,totalIterations:5,queuedAt:new Date(`2024-04-15T10:30:00Z`),startedAt:new Date(`2024-04-15T10:30:02Z`),steps:[],logs:[]},{id:`run-3`,organizationId:`demo-org`,agentId:`agent-1`,agentName:`Customer Support Bot`,userId:`user-1`,input:{message:`What are your business hours?`},output:{response:`Our business hours are 9 AM to 5 PM EST...`},status:`COMPLETED`,totalTokens:800,promptTokens:500,completionTokens:300,totalIterations:2,durationMs:2100,estimatedCostUsd:.0012,queuedAt:new Date(`2024-04-15T09:00:00Z`),startedAt:new Date(`2024-04-15T09:00:01Z`),completedAt:new Date(`2024-04-15T09:00:03Z`),steps:[],logs:[]},{id:`run-4`,organizationId:`demo-org`,agentId:`agent-3`,agentName:`Data Analyst`,userId:`user-3`,input:{message:`Generate sales report for Q1`},status:`FAILED`,errorMessage:`Database connection timeout`,errorCode:`DB_TIMEOUT`,totalTokens:2e3,promptTokens:1500,completionTokens:500,totalIterations:8,durationMs:45e3,queuedAt:new Date(`2024-04-14T15:00:00Z`),startedAt:new Date(`2024-04-14T15:00:05Z`),completedAt:new Date(`2024-04-14T15:00:50Z`),steps:[],logs:[]},{id:`run-5`,organizationId:`demo-org`,agentId:`agent-2`,agentName:`Code Review Assistant`,userId:`user-2`,input:{message:`Review PR #120`},output:{response:`Code review complete. 3 suggestions...`},status:`COMPLETED`,totalTokens:5200,promptTokens:4e3,completionTokens:1200,totalIterations:7,durationMs:15e3,estimatedCostUsd:.0156,queuedAt:new Date(`2024-04-14T11:00:00Z`),startedAt:new Date(`2024-04-14T11:00:03Z`),completedAt:new Date(`2024-04-14T11:00:18Z`),steps:[],logs:[]}];export{e as MOCK_RUNS};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
1
+ import{ScalarTypeEnum as e}from"@lssm/lib.schema";import{defineEvent as t,defineSchemaModel as n}from"@lssm/lib.contracts";const r=t({name:`agent.tool.created`,version:1,description:`A new AI tool was created.`,payload:n({name:`ToolCreatedPayload`,description:`Payload for tool created event`,fields:{id:{type:e.String_unsecure(),isOptional:!1},organizationId:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},slug:{type:e.String_unsecure(),isOptional:!1},category:{type:e.String_unsecure(),isOptional:!1},implementationType:{type:e.String_unsecure(),isOptional:!1},createdById:{type:e.String_unsecure(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}})}),i=t({name:`agent.tool.updated`,version:1,description:`An AI tool configuration was updated.`,payload:n({name:`ToolUpdatedPayload`,description:`Payload for tool updated event`,fields:{id:{type:e.String_unsecure(),isOptional:!1},organizationId:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},status:{type:e.String_unsecure(),isOptional:!1},updatedFields:{type:e.String_unsecure(),isArray:!0,isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}})}),a=t({name:`agent.tool.statusChanged`,version:1,description:`An AI tool status was changed (activated, deprecated, disabled).`,payload:n({name:`ToolStatusChangedPayload`,description:`Payload for tool status changed event`,fields:{id:{type:e.String_unsecure(),isOptional:!1},organizationId:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},previousStatus:{type:e.String_unsecure(),isOptional:!1},newStatus:{type:e.String_unsecure(),isOptional:!1},changedAt:{type:e.DateTime(),isOptional:!1}}})});export{r as ToolCreatedEvent,a as ToolStatusChangedEvent,i as ToolUpdatedEvent};
@@ -0,0 +1 @@
1
+ import{MOCK_TOOLS as e}from"../shared/mock-tools.js";async function t(t){let{organizationId:n,category:r,status:i,search:a,limit:o=20,offset:s=0}=t,c=e.filter(e=>e.organizationId===n);if(r&&(c=c.filter(e=>e.category===r)),i&&(c=c.filter(e=>e.status===i)),a){let e=a.toLowerCase();c=c.filter(t=>t.name.toLowerCase().includes(e)||t.description.toLowerCase().includes(e))}let l=c.length;return{items:c.slice(s,s+o).map(e=>({id:e.id,name:e.name,slug:e.slug,description:e.description,category:e.category,status:e.status,version:e.version,createdAt:e.createdAt})),total:l,hasMore:s+o<l}}async function n(t){let n=e.find(e=>e.id===t.toolId);if(!n)throw Error(`TOOL_NOT_FOUND`);return n}async function r(t){if(e.some(e=>e.organizationId===t.organizationId&&e.slug===t.slug))throw Error(`SLUG_EXISTS`);return{id:`tool-${Date.now()}`,name:t.name,slug:t.slug,status:`DRAFT`}}async function i(t){let n=e.find(e=>e.id===t.toolId);if(!n)throw Error(`TOOL_NOT_FOUND`);return{id:n.id,name:t.name??n.name,status:t.status??n.status,updatedAt:new Date}}async function a(t){if(!e.find(e=>e.id===t.toolId))throw Error(`TOOL_NOT_FOUND`);let n=Date.now();return await new Promise(e=>setTimeout(e,100)),{success:!0,output:{result:`Test successful`,input:t.testInput},durationMs:Date.now()-n}}export{r as mockCreateToolHandler,n as mockGetToolHandler,t as mockListToolsHandler,a as mockTestToolHandler,i as mockUpdateToolHandler};
@@ -0,0 +1 @@
1
+ import{ToolSummaryModel as e}from"./tool.schema.js";const t={meta:{name:`agent-console.tool.list`,version:1,description:`List view of AI tools with category, status, and version info`,domain:`agent-console`,owners:[`agent-console-team`],tags:[`tool`,`list`,`dashboard`]},source:{type:`component`,framework:`react`,componentKey:`ToolListView`,props:e},targets:[`react`,`markdown`,`application/json`],policy:{flags:[`agent-console.enabled`]}},n={meta:{name:`agent-console.tool.detail`,version:1,description:`Detailed view of an AI tool with configuration and test panel`,domain:`agent-console`,owners:[`agent-console-team`],tags:[`tool`,`detail`]},source:{type:`component`,framework:`react`,componentKey:`ToolDetailView`},targets:[`react`,`markdown`],policy:{flags:[`agent-console.enabled`]}};export{n as ToolDetailPresentation,t as ToolListPresentation};
@@ -0,0 +1 @@
1
+ import{ImplementationTypeEnum as e,ToolCategoryEnum as t,ToolStatusEnum as n}from"./tool.enum.js";import{ScalarTypeEnum as r,defineSchemaModel as i}from"@lssm/lib.schema";const a=i({name:`Tool`,description:`AI tool definition`,fields:{id:{type:r.String_unsecure(),isOptional:!1},organizationId:{type:r.String_unsecure(),isOptional:!1},name:{type:r.NonEmptyString(),isOptional:!1},slug:{type:r.String_unsecure(),isOptional:!1},description:{type:r.String_unsecure(),isOptional:!1},category:{type:t,isOptional:!1},status:{type:n,isOptional:!1},parametersSchema:{type:r.JSONObject(),isOptional:!1},outputSchema:{type:r.JSONObject(),isOptional:!0},implementationType:{type:e,isOptional:!1},implementationConfig:{type:r.JSONObject(),isOptional:!1},maxInvocationsPerMinute:{type:r.Int_unsecure(),isOptional:!0},timeoutMs:{type:r.Int_unsecure(),isOptional:!1,defaultValue:3e4},version:{type:r.NonEmptyString(),isOptional:!1},tags:{type:r.String_unsecure(),isArray:!0,isOptional:!0},createdAt:{type:r.DateTime(),isOptional:!1},updatedAt:{type:r.DateTime(),isOptional:!1}}}),o=i({name:`ToolSummary`,description:`Summary of a tool for list views`,fields:{id:{type:r.String_unsecure(),isOptional:!1},name:{type:r.NonEmptyString(),isOptional:!1},slug:{type:r.String_unsecure(),isOptional:!1},description:{type:r.String_unsecure(),isOptional:!1},category:{type:t,isOptional:!1},status:{type:n,isOptional:!1},version:{type:r.NonEmptyString(),isOptional:!1},createdAt:{type:r.DateTime(),isOptional:!1}}}),s=i({name:`CreateToolInput`,description:`Input for creating a tool`,fields:{organizationId:{type:r.String_unsecure(),isOptional:!1},name:{type:r.NonEmptyString(),isOptional:!1},slug:{type:r.String_unsecure(),isOptional:!1},description:{type:r.String_unsecure(),isOptional:!1},category:{type:t,isOptional:!0},parametersSchema:{type:r.JSONObject(),isOptional:!1},outputSchema:{type:r.JSONObject(),isOptional:!0},implementationType:{type:e,isOptional:!1},implementationConfig:{type:r.JSONObject(),isOptional:!1},maxInvocationsPerMinute:{type:r.Int_unsecure(),isOptional:!0},timeoutMs:{type:r.Int_unsecure(),isOptional:!0},tags:{type:r.String_unsecure(),isArray:!0,isOptional:!0}}}),c=i({name:`UpdateToolInput`,description:`Input for updating a tool`,fields:{toolId:{type:r.String_unsecure(),isOptional:!1},name:{type:r.NonEmptyString(),isOptional:!0},description:{type:r.String_unsecure(),isOptional:!0},status:{type:n,isOptional:!0},parametersSchema:{type:r.JSONObject(),isOptional:!0},outputSchema:{type:r.JSONObject(),isOptional:!0},implementationConfig:{type:r.JSONObject(),isOptional:!0},maxInvocationsPerMinute:{type:r.Int_unsecure(),isOptional:!0},timeoutMs:{type:r.Int_unsecure(),isOptional:!0},tags:{type:r.String_unsecure(),isArray:!0,isOptional:!0}}});export{s as CreateToolInputModel,a as ToolModel,o as ToolSummaryModel,c as UpdateToolInputModel};
package/package.json CHANGED
@@ -1,36 +1,46 @@
1
1
  {
2
2
  "name": "@lssm/example.agent-console",
3
- "version": "0.0.0-canary-20251215234340",
3
+ "version": "0.0.0-canary-20251216024228",
4
4
  "description": "Agent Console example - AI agent orchestration with tools, runs, and logs",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
8
8
  "exports": {
9
9
  ".": "./src/index.ts",
10
- "./contracts": "./src/contracts/index.ts",
11
- "./contracts/agent": "./src/contracts/agent.ts",
12
- "./contracts/run": "./src/contracts/run.ts",
13
- "./contracts/tool": "./src/contracts/tool.ts",
10
+ "./agent": "./src/agent/index.ts",
11
+ "./agent.feature": "./src/agent.feature.ts",
12
+ "./agent/agent.contracts": "./src/agent/agent.contracts.ts",
13
+ "./agent/agent.entity": "./src/agent/agent.entity.ts",
14
+ "./agent/agent.enum": "./src/agent/agent.enum.ts",
15
+ "./agent/agent.event": "./src/agent/agent.event.ts",
16
+ "./agent/agent.handler": "./src/agent/agent.handler.ts",
17
+ "./agent/agent.presentation": "./src/agent/agent.presentation.ts",
18
+ "./agent/agent.schema": "./src/agent/agent.schema.ts",
14
19
  "./docs": "./src/docs/index.ts",
15
20
  "./docs/agent-console.docblock": "./src/docs/agent-console.docblock.ts",
16
- "./entities": "./src/entities/index.ts",
17
- "./entities/agent": "./src/entities/agent.ts",
18
- "./entities/log": "./src/entities/log.ts",
19
- "./entities/run": "./src/entities/run.ts",
20
- "./entities/tool": "./src/entities/tool.ts",
21
- "./events": "./src/events.ts",
22
21
  "./example": "./src/example.ts",
23
- "./feature": "./src/feature.ts",
24
22
  "./handlers": "./src/handlers/index.ts",
25
- "./handlers/agent.handlers": "./src/handlers/agent.handlers.ts",
26
- "./handlers/mock-data": "./src/handlers/mock-data.ts",
27
- "./handlers/run.handlers": "./src/handlers/run.handlers.ts",
28
- "./handlers/tool.handlers": "./src/handlers/tool.handlers.ts",
29
23
  "./presentations": "./src/presentations/index.ts",
30
- "./presentations/agent-list": "./src/presentations/agent-list.ts",
31
- "./presentations/dashboard": "./src/presentations/dashboard.ts",
32
- "./presentations/run-list": "./src/presentations/run-list.ts",
33
- "./presentations/tool-registry": "./src/presentations/tool-registry.ts",
24
+ "./run": "./src/run/index.ts",
25
+ "./run/run.contracts": "./src/run/run.contracts.ts",
26
+ "./run/run.entity": "./src/run/run.entity.ts",
27
+ "./run/run.enum": "./src/run/run.enum.ts",
28
+ "./run/run.event": "./src/run/run.event.ts",
29
+ "./run/run.handler": "./src/run/run.handler.ts",
30
+ "./run/run.presentation": "./src/run/run.presentation.ts",
31
+ "./run/run.schema": "./src/run/run.schema.ts",
32
+ "./shared": "./src/shared/index.ts",
33
+ "./shared/mock-agents": "./src/shared/mock-agents.ts",
34
+ "./shared/mock-runs": "./src/shared/mock-runs.ts",
35
+ "./shared/mock-tools": "./src/shared/mock-tools.ts",
36
+ "./tool": "./src/tool/index.ts",
37
+ "./tool/tool.contracts": "./src/tool/tool.contracts.ts",
38
+ "./tool/tool.entity": "./src/tool/tool.entity.ts",
39
+ "./tool/tool.enum": "./src/tool/tool.enum.ts",
40
+ "./tool/tool.event": "./src/tool/tool.event.ts",
41
+ "./tool/tool.handler": "./src/tool/tool.handler.ts",
42
+ "./tool/tool.presentation": "./src/tool/tool.presentation.ts",
43
+ "./tool/tool.schema": "./src/tool/tool.schema.ts",
34
44
  "./*": "./*"
35
45
  },
36
46
  "scripts": {
@@ -62,30 +72,40 @@
62
72
  "publishConfig": {
63
73
  "exports": {
64
74
  ".": "./dist/index.js",
65
- "./contracts": "./dist/contracts/index.js",
66
- "./contracts/agent": "./dist/contracts/agent.js",
67
- "./contracts/run": "./dist/contracts/run.js",
68
- "./contracts/tool": "./dist/contracts/tool.js",
75
+ "./agent": "./dist/agent/index.js",
76
+ "./agent.feature": "./dist/agent.feature.js",
77
+ "./agent/agent.contracts": "./dist/agent/agent.contracts.js",
78
+ "./agent/agent.entity": "./dist/agent/agent.entity.js",
79
+ "./agent/agent.enum": "./dist/agent/agent.enum.js",
80
+ "./agent/agent.event": "./dist/agent/agent.event.js",
81
+ "./agent/agent.handler": "./dist/agent/agent.handler.js",
82
+ "./agent/agent.presentation": "./dist/agent/agent.presentation.js",
83
+ "./agent/agent.schema": "./dist/agent/agent.schema.js",
69
84
  "./docs": "./dist/docs/index.js",
70
85
  "./docs/agent-console.docblock": "./dist/docs/agent-console.docblock.js",
71
- "./entities": "./dist/entities/index.js",
72
- "./entities/agent": "./dist/entities/agent.js",
73
- "./entities/log": "./dist/entities/log.js",
74
- "./entities/run": "./dist/entities/run.js",
75
- "./entities/tool": "./dist/entities/tool.js",
76
- "./events": "./dist/events.js",
77
86
  "./example": "./dist/example.js",
78
- "./feature": "./dist/feature.js",
79
87
  "./handlers": "./dist/handlers/index.js",
80
- "./handlers/agent.handlers": "./dist/handlers/agent.handlers.js",
81
- "./handlers/mock-data": "./dist/handlers/mock-data.js",
82
- "./handlers/run.handlers": "./dist/handlers/run.handlers.js",
83
- "./handlers/tool.handlers": "./dist/handlers/tool.handlers.js",
84
88
  "./presentations": "./dist/presentations/index.js",
85
- "./presentations/agent-list": "./dist/presentations/agent-list.js",
86
- "./presentations/dashboard": "./dist/presentations/dashboard.js",
87
- "./presentations/run-list": "./dist/presentations/run-list.js",
88
- "./presentations/tool-registry": "./dist/presentations/tool-registry.js",
89
+ "./run": "./dist/run/index.js",
90
+ "./run/run.contracts": "./dist/run/run.contracts.js",
91
+ "./run/run.entity": "./dist/run/run.entity.js",
92
+ "./run/run.enum": "./dist/run/run.enum.js",
93
+ "./run/run.event": "./dist/run/run.event.js",
94
+ "./run/run.handler": "./dist/run/run.handler.js",
95
+ "./run/run.presentation": "./dist/run/run.presentation.js",
96
+ "./run/run.schema": "./dist/run/run.schema.js",
97
+ "./shared": "./dist/shared/index.js",
98
+ "./shared/mock-agents": "./dist/shared/mock-agents.js",
99
+ "./shared/mock-runs": "./dist/shared/mock-runs.js",
100
+ "./shared/mock-tools": "./dist/shared/mock-tools.js",
101
+ "./tool": "./dist/tool/index.js",
102
+ "./tool/tool.contracts": "./dist/tool/tool.contracts.js",
103
+ "./tool/tool.entity": "./dist/tool/tool.entity.js",
104
+ "./tool/tool.enum": "./dist/tool/tool.enum.js",
105
+ "./tool/tool.event": "./dist/tool/tool.event.js",
106
+ "./tool/tool.handler": "./dist/tool/tool.handler.js",
107
+ "./tool/tool.presentation": "./dist/tool/tool.presentation.js",
108
+ "./tool/tool.schema": "./dist/tool/tool.schema.js",
89
109
  "./*": "./*"
90
110
  }
91
111
  }