@dexto/server 1.6.20 → 1.6.22

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 (133) hide show
  1. package/dist/a2a/jsonrpc/methods.cjs +1 -1
  2. package/dist/a2a/jsonrpc/methods.d.ts +14 -4
  3. package/dist/a2a/jsonrpc/methods.d.ts.map +1 -1
  4. package/dist/a2a/jsonrpc/methods.js +1 -1
  5. package/dist/approval/wire-approval-events.cjs +44 -0
  6. package/dist/approval/wire-approval-events.d.ts +4 -0
  7. package/dist/approval/wire-approval-events.d.ts.map +1 -0
  8. package/dist/approval/wire-approval-events.js +20 -0
  9. package/dist/events/session-sse-subscriber.cjs +167 -0
  10. package/dist/events/session-sse-subscriber.d.ts +13 -0
  11. package/dist/events/session-sse-subscriber.d.ts.map +1 -0
  12. package/dist/events/session-sse-subscriber.js +143 -0
  13. package/dist/hono/__tests__/test-fixtures.cjs +8 -0
  14. package/dist/hono/__tests__/test-fixtures.d.ts +1 -0
  15. package/dist/hono/__tests__/test-fixtures.d.ts.map +1 -1
  16. package/dist/hono/__tests__/test-fixtures.js +8 -0
  17. package/dist/hono/index.cjs +40 -8
  18. package/dist/hono/index.d.ts +45 -4531
  19. package/dist/hono/index.d.ts.map +1 -1
  20. package/dist/hono/index.js +43 -9
  21. package/dist/hono/node/index.cjs +51 -6
  22. package/dist/hono/node/index.d.ts.map +1 -1
  23. package/dist/hono/node/index.js +51 -6
  24. package/dist/hono/routes/a2a-jsonrpc.d.ts.map +1 -1
  25. package/dist/hono/routes/a2a-tasks.cjs +158 -32
  26. package/dist/hono/routes/a2a-tasks.d.ts +1 -502
  27. package/dist/hono/routes/a2a-tasks.d.ts.map +1 -1
  28. package/dist/hono/routes/a2a-tasks.js +162 -32
  29. package/dist/hono/routes/a2a.d.ts.map +1 -1
  30. package/dist/hono/routes/agents.cjs +410 -329
  31. package/dist/hono/routes/agents.d.ts +16043 -68
  32. package/dist/hono/routes/agents.d.ts.map +1 -1
  33. package/dist/hono/routes/agents.js +418 -330
  34. package/dist/hono/routes/approvals.cjs +102 -88
  35. package/dist/hono/routes/approvals.d.ts +2089 -142
  36. package/dist/hono/routes/approvals.d.ts.map +1 -1
  37. package/dist/hono/routes/approvals.js +108 -89
  38. package/dist/hono/routes/dexto-auth.cjs +40 -33
  39. package/dist/hono/routes/dexto-auth.d.ts +401 -2
  40. package/dist/hono/routes/dexto-auth.d.ts.map +1 -1
  41. package/dist/hono/routes/dexto-auth.js +40 -33
  42. package/dist/hono/routes/discovery.cjs +16 -14
  43. package/dist/hono/routes/discovery.d.ts +586 -1
  44. package/dist/hono/routes/discovery.d.ts.map +1 -1
  45. package/dist/hono/routes/discovery.js +16 -14
  46. package/dist/hono/routes/greeting.cjs +26 -22
  47. package/dist/hono/routes/greeting.d.ts +787 -3
  48. package/dist/hono/routes/greeting.d.ts.map +1 -1
  49. package/dist/hono/routes/greeting.js +26 -22
  50. package/dist/hono/routes/health.d.ts +1 -1
  51. package/dist/hono/routes/key.cjs +60 -52
  52. package/dist/hono/routes/key.d.ts +1597 -1
  53. package/dist/hono/routes/key.d.ts.map +1 -1
  54. package/dist/hono/routes/key.js +60 -52
  55. package/dist/hono/routes/llm.cjs +382 -349
  56. package/dist/hono/routes/llm.d.ts +12148 -98
  57. package/dist/hono/routes/llm.d.ts.map +1 -1
  58. package/dist/hono/routes/llm.js +386 -349
  59. package/dist/hono/routes/mcp.cjs +257 -226
  60. package/dist/hono/routes/mcp.d.ts +6605 -309
  61. package/dist/hono/routes/mcp.d.ts.map +1 -1
  62. package/dist/hono/routes/mcp.js +263 -225
  63. package/dist/hono/routes/memory.cjs +102 -89
  64. package/dist/hono/routes/memory.d.ts +5368 -4
  65. package/dist/hono/routes/memory.d.ts.map +1 -1
  66. package/dist/hono/routes/memory.js +108 -90
  67. package/dist/hono/routes/messages.cjs +189 -191
  68. package/dist/hono/routes/messages.d.ts +3900 -12
  69. package/dist/hono/routes/messages.d.ts.map +1 -1
  70. package/dist/hono/routes/messages.js +192 -191
  71. package/dist/hono/routes/models.cjs +106 -64
  72. package/dist/hono/routes/models.d.ts +2875 -2
  73. package/dist/hono/routes/models.d.ts.map +1 -1
  74. package/dist/hono/routes/models.js +108 -64
  75. package/dist/hono/routes/openrouter.cjs +79 -65
  76. package/dist/hono/routes/openrouter.d.ts +854 -1
  77. package/dist/hono/routes/openrouter.d.ts.map +1 -1
  78. package/dist/hono/routes/openrouter.js +79 -65
  79. package/dist/hono/routes/prompts.cjs +136 -109
  80. package/dist/hono/routes/prompts.d.ts +2818 -10
  81. package/dist/hono/routes/prompts.d.ts.map +1 -1
  82. package/dist/hono/routes/prompts.js +138 -109
  83. package/dist/hono/routes/queue.cjs +133 -120
  84. package/dist/hono/routes/queue.d.ts +5240 -11
  85. package/dist/hono/routes/queue.d.ts.map +1 -1
  86. package/dist/hono/routes/queue.js +136 -120
  87. package/dist/hono/routes/resources.cjs +65 -46
  88. package/dist/hono/routes/resources.d.ts +1983 -5
  89. package/dist/hono/routes/resources.d.ts.map +1 -1
  90. package/dist/hono/routes/resources.js +72 -47
  91. package/dist/hono/routes/schedules.cjs +233 -226
  92. package/dist/hono/routes/schedules.d.ts +4198 -22
  93. package/dist/hono/routes/schedules.d.ts.map +1 -1
  94. package/dist/hono/routes/schedules.js +233 -226
  95. package/dist/hono/routes/search.cjs +34 -30
  96. package/dist/hono/routes/search.d.ts +3094 -17
  97. package/dist/hono/routes/search.d.ts.map +1 -1
  98. package/dist/hono/routes/search.js +40 -31
  99. package/dist/hono/routes/sessions.cjs +491 -393
  100. package/dist/hono/routes/sessions.d.ts +18263 -65
  101. package/dist/hono/routes/sessions.d.ts.map +1 -1
  102. package/dist/hono/routes/sessions.js +497 -395
  103. package/dist/hono/routes/static.d.ts.map +1 -1
  104. package/dist/hono/routes/system-prompt.cjs +57 -61
  105. package/dist/hono/routes/system-prompt.d.ts +1228 -2
  106. package/dist/hono/routes/system-prompt.d.ts.map +1 -1
  107. package/dist/hono/routes/system-prompt.js +58 -62
  108. package/dist/hono/routes/tools.cjs +29 -34
  109. package/dist/hono/routes/tools.d.ts +1755 -6
  110. package/dist/hono/routes/tools.d.ts.map +1 -1
  111. package/dist/hono/routes/tools.js +33 -33
  112. package/dist/hono/routes/webhooks.cjs +115 -123
  113. package/dist/hono/routes/webhooks.d.ts +2501 -11
  114. package/dist/hono/routes/webhooks.d.ts.map +1 -1
  115. package/dist/hono/routes/webhooks.js +120 -124
  116. package/dist/hono/routes/workspaces.cjs +84 -79
  117. package/dist/hono/routes/workspaces.d.ts +2093 -2
  118. package/dist/hono/routes/workspaces.d.ts.map +1 -1
  119. package/dist/hono/routes/workspaces.js +89 -80
  120. package/dist/hono/schemas/responses.cjs +463 -260
  121. package/dist/hono/schemas/responses.d.ts +1893 -209
  122. package/dist/hono/schemas/responses.d.ts.map +1 -1
  123. package/dist/hono/schemas/responses.js +203 -14
  124. package/dist/hono/start-server.cjs +9 -0
  125. package/dist/hono/start-server.d.ts.map +1 -1
  126. package/dist/hono/start-server.js +9 -0
  127. package/dist/hono/types.d.ts +11 -0
  128. package/dist/hono/types.d.ts.map +1 -1
  129. package/dist/index.cjs +5 -1
  130. package/dist/index.d.ts +2 -0
  131. package/dist/index.d.ts.map +1 -1
  132. package/dist/index.js +2 -0
  133. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/hono/routes/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAO9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,KAAK,UAAU,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAmErE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAmOvD"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/hono/routes/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAe,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAShE,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAElE,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+C6D,CAAC;AAE7F,QAAA,MAAM,qBAAqB;;;;;;EAI0B,CAAC;AAEtD,QAAA,MAAM,wBAAwB;;;;;;;;;EAQkC,CAAC;AAuCjE,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBb,CAAC;AAEH,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BrB,CAAC;AAEH,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;CAcrB,CAAC;AAEH,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuBlB,CAAC;AAEH,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyBtB,CAAC;AAEH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAsGvD;AAED,KAAK,oBAAoB,GAAG;IAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;CAAE,CAAC;AAE7E,KAAK,eAAe,GAAG,kBAAkB,CAAC,OAAO,SAAS,EAAE,EAAE,CAAC,CAAC;AAChE,KAAK,uBAAuB,GAAG,kBAAkB,CAC7C,OAAO,iBAAiB,EACxB;IAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;CAAE,CACtD,CAAC;AACF,KAAK,uBAAuB,GAAG,kBAAkB,CAC7C,OAAO,iBAAiB,EACxB;IAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAC9B,CAAC;AACF,KAAK,oBAAoB,GAAG,kBAAkB,CAAC,OAAO,cAAc,EAAE,oBAAoB,CAAC,CAAC;AAC5F,KAAK,wBAAwB,GAAG,kBAAkB,CAC9C,OAAO,kBAAkB,EACzB,oBAAoB,GAAG;IAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;CAAE,CAC7E,CAAC;AAEF,MAAM,MAAM,mBAAmB,GACzB,eAAe,GACf,uBAAuB,GACvB,uBAAuB,GACvB,oBAAoB,GACpB,wBAAwB,CAAC"}
@@ -2,6 +2,8 @@ import { OpenAPIHono, createRoute, z } from "@hono/zod-openapi";
2
2
  import { PromptError } from "@dexto/core";
3
3
  import {
4
4
  ApiErrorResponseSchema,
5
+ BadRequestErrorResponse,
6
+ InternalErrorResponse,
5
7
  PromptDefinitionSchema,
6
8
  PromptInfoSchema
7
9
  } from "../schemas/responses.js";
@@ -30,129 +32,142 @@ const ResolvePromptQuerySchema = z.object({
30
32
  context: z.string().optional().describe("Additional context for prompt resolution"),
31
33
  args: z.string().optional().describe("Arguments to substitute in the prompt template (pass as a JSON string)")
32
34
  }).describe("Query parameters for resolving prompt templates");
33
- function createPromptsRouter(getAgent) {
34
- const app = new OpenAPIHono();
35
- const listRoute = createRoute({
36
- method: "get",
37
- path: "/prompts",
38
- summary: "List Prompts",
39
- description: "Retrieves all available prompts, including both built-in and custom prompts",
40
- tags: ["prompts"],
41
- responses: {
42
- 200: {
43
- description: "List all prompts",
44
- content: {
45
- "application/json": {
46
- schema: z.object({
47
- prompts: z.array(PromptInfoSchema).describe("Array of available prompts")
48
- }).strict().describe("Prompts list response")
49
- }
35
+ const ListPromptsResponseSchema = z.object({
36
+ prompts: z.array(PromptInfoSchema).describe("Array of available prompts")
37
+ }).strict().describe("Prompts list response");
38
+ const CreatePromptResponseSchema = z.object({
39
+ prompt: PromptInfoSchema.describe("Created prompt information")
40
+ }).strict().describe("Create prompt response");
41
+ const GetPromptDefinitionResponseSchema = z.object({
42
+ definition: PromptDefinitionSchema.describe("Prompt definition")
43
+ }).strict().describe("Get prompt definition response");
44
+ const ResolvePromptResponseSchema = z.object({
45
+ text: z.string().describe("Resolved prompt text"),
46
+ resources: z.array(z.string()).describe("Array of resource identifiers")
47
+ }).strict().describe("Resolve prompt response");
48
+ function serializePromptInfo(prompt) {
49
+ return PromptInfoSchema.parse(JSON.parse(JSON.stringify(prompt)));
50
+ }
51
+ function serializePromptDefinition(definition) {
52
+ return PromptDefinitionSchema.parse(JSON.parse(JSON.stringify(definition)));
53
+ }
54
+ const listRoute = createRoute({
55
+ method: "get",
56
+ path: "/prompts",
57
+ summary: "List Prompts",
58
+ description: "Retrieves all available prompts, including both built-in and custom prompts",
59
+ tags: ["prompts"],
60
+ responses: {
61
+ 200: {
62
+ description: "List all prompts",
63
+ content: {
64
+ "application/json": {
65
+ schema: ListPromptsResponseSchema
66
+ }
67
+ }
68
+ },
69
+ 500: InternalErrorResponse
70
+ }
71
+ });
72
+ const createCustomRoute = createRoute({
73
+ method: "post",
74
+ path: "/prompts/custom",
75
+ summary: "Create Custom Prompt",
76
+ description: "Creates a new custom prompt with optional resource attachment. Maximum request size: 10MB",
77
+ tags: ["prompts"],
78
+ request: {
79
+ body: {
80
+ content: {
81
+ "application/json": {
82
+ schema: CustomPromptRequestSchema
50
83
  }
51
84
  }
52
85
  }
53
- });
54
- const createCustomRoute = createRoute({
55
- method: "post",
56
- path: "/prompts/custom",
57
- summary: "Create Custom Prompt",
58
- description: "Creates a new custom prompt with optional resource attachment. Maximum request size: 10MB",
59
- tags: ["prompts"],
60
- request: {
61
- body: {
62
- content: {
63
- "application/json": {
64
- schema: CustomPromptRequestSchema
65
- }
86
+ },
87
+ responses: {
88
+ 201: {
89
+ description: "Custom prompt created",
90
+ content: {
91
+ "application/json": {
92
+ schema: CreatePromptResponseSchema
66
93
  }
67
94
  }
68
95
  },
69
- responses: {
70
- 201: {
71
- description: "Custom prompt created",
72
- content: {
73
- "application/json": {
74
- schema: z.object({
75
- prompt: PromptInfoSchema.describe("Created prompt information")
76
- }).strict().describe("Create prompt response")
77
- }
96
+ 400: BadRequestErrorResponse,
97
+ 500: InternalErrorResponse
98
+ }
99
+ });
100
+ const deleteCustomRoute = createRoute({
101
+ method: "delete",
102
+ path: "/prompts/custom/{name}",
103
+ summary: "Delete Custom Prompt",
104
+ description: "Permanently deletes a custom prompt. Built-in prompts cannot be deleted",
105
+ tags: ["prompts"],
106
+ request: {
107
+ params: z.object({
108
+ name: z.string().min(1, "Prompt name is required").describe("The prompt name")
109
+ })
110
+ },
111
+ responses: {
112
+ 204: { description: "Prompt deleted" }
113
+ }
114
+ });
115
+ const getPromptRoute = createRoute({
116
+ method: "get",
117
+ path: "/prompts/{name}",
118
+ summary: "Get Prompt Definition",
119
+ description: "Fetches the definition for a specific prompt",
120
+ tags: ["prompts"],
121
+ request: {
122
+ params: PromptNameParamSchema
123
+ },
124
+ responses: {
125
+ 200: {
126
+ description: "Prompt definition",
127
+ content: {
128
+ "application/json": {
129
+ schema: GetPromptDefinitionResponseSchema
78
130
  }
79
131
  }
80
- }
81
- });
82
- const deleteCustomRoute = createRoute({
83
- method: "delete",
84
- path: "/prompts/custom/{name}",
85
- summary: "Delete Custom Prompt",
86
- description: "Permanently deletes a custom prompt. Built-in prompts cannot be deleted",
87
- tags: ["prompts"],
88
- request: {
89
- params: z.object({
90
- name: z.string().min(1, "Prompt name is required").describe("The prompt name")
91
- })
92
132
  },
93
- responses: {
94
- 204: { description: "Prompt deleted" }
133
+ 404: {
134
+ description: "Prompt not found",
135
+ content: { "application/json": { schema: ApiErrorResponseSchema } }
95
136
  }
96
- });
97
- const getPromptRoute = createRoute({
98
- method: "get",
99
- path: "/prompts/{name}",
100
- summary: "Get Prompt Definition",
101
- description: "Fetches the definition for a specific prompt",
102
- tags: ["prompts"],
103
- request: {
104
- params: PromptNameParamSchema
105
- },
106
- responses: {
107
- 200: {
108
- description: "Prompt definition",
109
- content: {
110
- "application/json": {
111
- schema: z.object({
112
- definition: PromptDefinitionSchema.describe("Prompt definition")
113
- }).strict().describe("Get prompt definition response")
114
- }
137
+ }
138
+ });
139
+ const resolvePromptRoute = createRoute({
140
+ method: "get",
141
+ path: "/prompts/{name}/resolve",
142
+ summary: "Resolve Prompt",
143
+ description: "Resolves a prompt template with provided arguments and returns the final text with resources",
144
+ tags: ["prompts"],
145
+ request: {
146
+ params: PromptNameParamSchema,
147
+ query: ResolvePromptQuerySchema
148
+ },
149
+ responses: {
150
+ 200: {
151
+ description: "Resolved prompt content",
152
+ content: {
153
+ "application/json": {
154
+ schema: ResolvePromptResponseSchema
115
155
  }
116
- },
117
- 404: {
118
- description: "Prompt not found",
119
- content: { "application/json": { schema: ApiErrorResponseSchema } }
120
156
  }
121
- }
122
- });
123
- const resolvePromptRoute = createRoute({
124
- method: "get",
125
- path: "/prompts/{name}/resolve",
126
- summary: "Resolve Prompt",
127
- description: "Resolves a prompt template with provided arguments and returns the final text with resources",
128
- tags: ["prompts"],
129
- request: {
130
- params: PromptNameParamSchema,
131
- query: ResolvePromptQuerySchema
132
157
  },
133
- responses: {
134
- 200: {
135
- description: "Resolved prompt content",
136
- content: {
137
- "application/json": {
138
- schema: z.object({
139
- text: z.string().describe("Resolved prompt text"),
140
- resources: z.array(z.string()).describe("Array of resource identifiers")
141
- }).strict().describe("Resolve prompt response")
142
- }
143
- }
144
- },
145
- 404: {
146
- description: "Prompt not found",
147
- content: { "application/json": { schema: ApiErrorResponseSchema } }
148
- }
158
+ 404: {
159
+ description: "Prompt not found",
160
+ content: { "application/json": { schema: ApiErrorResponseSchema } }
149
161
  }
150
- });
162
+ }
163
+ });
164
+ function createPromptsRouter(getAgent) {
165
+ const app = new OpenAPIHono();
151
166
  return app.openapi(listRoute, async (ctx) => {
152
167
  const agent = await getAgent(ctx);
153
168
  const prompts = await agent.listPrompts();
154
- const list = Object.values(prompts);
155
- return ctx.json({ prompts: list });
169
+ const list = Object.values(prompts).map(serializePromptInfo);
170
+ return ctx.json(ListPromptsResponseSchema.parse({ prompts: list }), 200);
156
171
  }).openapi(createCustomRoute, async (ctx) => {
157
172
  const agent = await getAgent(ctx);
158
173
  const payload = ctx.req.valid("json");
@@ -176,7 +191,10 @@ function createPromptsRouter(getAgent) {
176
191
  } : {}
177
192
  };
178
193
  const prompt = await agent.createCustomPrompt(createPayload);
179
- return ctx.json({ prompt }, 201);
194
+ return ctx.json(
195
+ CreatePromptResponseSchema.parse({ prompt: serializePromptInfo(prompt) }),
196
+ 201
197
+ );
180
198
  }).openapi(deleteCustomRoute, async (ctx) => {
181
199
  const agent = await getAgent(ctx);
182
200
  const { name } = ctx.req.valid("param");
@@ -187,7 +205,12 @@ function createPromptsRouter(getAgent) {
187
205
  const { name } = ctx.req.valid("param");
188
206
  const definition = await agent.getPromptDefinition(name);
189
207
  if (!definition) throw PromptError.notFound(name);
190
- return ctx.json({ definition }, 200);
208
+ return ctx.json(
209
+ GetPromptDefinitionResponseSchema.parse({
210
+ definition: serializePromptDefinition(definition)
211
+ }),
212
+ 200
213
+ );
191
214
  }).openapi(resolvePromptRoute, async (ctx) => {
192
215
  const agent = await getAgent(ctx);
193
216
  const { name } = ctx.req.valid("param");
@@ -206,7 +229,13 @@ function createPromptsRouter(getAgent) {
206
229
  if (context !== void 0) options.context = context;
207
230
  if (parsedArgs !== void 0) options.args = parsedArgs;
208
231
  const result = await agent.resolvePrompt(name, options);
209
- return ctx.json({ text: result.text, resources: result.resources }, 200);
232
+ return ctx.json(
233
+ ResolvePromptResponseSchema.parse({
234
+ text: result.text,
235
+ resources: result.resources
236
+ }),
237
+ 200
238
+ );
210
239
  });
211
240
  }
212
241
  export {
@@ -28,136 +28,146 @@ const QueuedMessageSchema = import_zod_openapi.z.object({
28
28
  id: import_zod_openapi.z.string().describe("Unique identifier for the queued message"),
29
29
  content: import_zod_openapi.z.array(import_responses.ContentPartSchema).describe("Message content parts"),
30
30
  queuedAt: import_zod_openapi.z.number().describe("Unix timestamp when message was queued"),
31
- metadata: import_zod_openapi.z.record(import_zod_openapi.z.unknown()).optional().describe("Optional metadata"),
31
+ metadata: import_responses.JsonObjectSchema.optional().describe("Optional metadata"),
32
32
  kind: import_zod_openapi.z.enum(["default", "background"]).optional().describe("Optional queued message kind")
33
33
  }).strict().describe("A message waiting in the queue");
34
34
  const QueueMessageBodySchema = import_zod_openapi.z.object({
35
35
  content: import_responses.RequestContentSchema,
36
36
  kind: import_zod_openapi.z.enum(["default", "background"]).optional().describe("Optional queued message kind")
37
37
  }).describe("Request body for queueing a message");
38
- function createQueueRouter(getAgent) {
39
- const app = new import_zod_openapi.OpenAPIHono();
40
- const getQueueRoute = (0, import_zod_openapi.createRoute)({
41
- method: "get",
42
- path: "/queue/{sessionId}",
43
- summary: "Get queued messages",
44
- description: "Returns all messages waiting in the queue for a session",
45
- tags: ["queue"],
46
- request: {
47
- params: import_zod_openapi.z.object({
48
- sessionId: import_zod_openapi.z.string().min(1).describe("Session ID")
49
- })
50
- },
51
- responses: {
52
- 200: {
53
- description: "List of queued messages",
54
- content: {
55
- "application/json": {
56
- schema: import_zod_openapi.z.object({
57
- messages: import_zod_openapi.z.array(QueuedMessageSchema).describe("Queued messages"),
58
- count: import_zod_openapi.z.number().describe("Number of messages in queue")
59
- }).strict()
60
- }
38
+ const GetQueueResponseSchema = import_zod_openapi.z.object({
39
+ messages: import_zod_openapi.z.array(QueuedMessageSchema).describe("Queued messages"),
40
+ count: import_zod_openapi.z.number().describe("Number of messages in queue")
41
+ }).strict().describe("Get queue response");
42
+ const QueueMessageResponseSchema = import_zod_openapi.z.object({
43
+ queued: import_zod_openapi.z.literal(true).describe("Indicates message was queued"),
44
+ id: import_zod_openapi.z.string().describe("ID of the queued message"),
45
+ position: import_zod_openapi.z.number().describe("Position in the queue (1-based)")
46
+ }).strict().describe("Queue message response");
47
+ const RemoveQueuedMessageResponseSchema = import_zod_openapi.z.object({
48
+ removed: import_zod_openapi.z.literal(true).describe("Indicates message was removed"),
49
+ id: import_zod_openapi.z.string().describe("ID of the removed message")
50
+ }).strict().describe("Remove queued message response");
51
+ const ClearQueueResponseSchema = import_zod_openapi.z.object({
52
+ cleared: import_zod_openapi.z.literal(true).describe("Indicates queue was cleared"),
53
+ count: import_zod_openapi.z.number().describe("Number of messages that were removed")
54
+ }).strict().describe("Clear queue response");
55
+ const QueueSessionParamSchema = import_zod_openapi.z.object({
56
+ sessionId: import_zod_openapi.z.string().min(1).describe("Session ID")
57
+ }).describe("Queue session params");
58
+ const QueueMessageParamSchema = import_zod_openapi.z.object({
59
+ sessionId: import_zod_openapi.z.string().min(1).describe("Session ID"),
60
+ messageId: import_zod_openapi.z.string().min(1).describe("ID of the queued message to remove")
61
+ }).describe("Queue message identifier params");
62
+ const getQueueRoute = (0, import_zod_openapi.createRoute)({
63
+ method: "get",
64
+ path: "/queue/{sessionId}",
65
+ summary: "Get queued messages",
66
+ description: "Returns all messages waiting in the queue for a session",
67
+ tags: ["queue"],
68
+ request: {
69
+ params: QueueSessionParamSchema
70
+ },
71
+ responses: {
72
+ 200: {
73
+ description: "List of queued messages",
74
+ content: {
75
+ "application/json": {
76
+ schema: GetQueueResponseSchema
61
77
  }
62
- },
63
- 404: {
64
- description: "Session not found",
65
- content: { "application/json": { schema: import_responses.ApiErrorResponseSchema } }
66
- }
67
- }
68
- });
69
- const queueMessageRoute = (0, import_zod_openapi.createRoute)({
70
- method: "post",
71
- path: "/queue/{sessionId}",
72
- summary: "Queue a message",
73
- description: "Adds a message to the queue for processing when the session is no longer busy",
74
- tags: ["queue"],
75
- request: {
76
- params: import_zod_openapi.z.object({
77
- sessionId: import_zod_openapi.z.string().min(1).describe("Session ID")
78
- }),
79
- body: {
80
- content: { "application/json": { schema: QueueMessageBodySchema } }
81
78
  }
82
79
  },
83
- responses: {
84
- 201: {
85
- description: "Message queued successfully",
86
- content: {
87
- "application/json": {
88
- schema: import_zod_openapi.z.object({
89
- queued: import_zod_openapi.z.literal(true).describe("Indicates message was queued"),
90
- id: import_zod_openapi.z.string().describe("ID of the queued message"),
91
- position: import_zod_openapi.z.number().describe("Position in the queue (1-based)")
92
- }).strict()
93
- }
80
+ 404: {
81
+ description: "Session not found",
82
+ content: { "application/json": { schema: import_responses.ApiErrorResponseSchema } }
83
+ },
84
+ 400: import_responses.BadRequestErrorResponse,
85
+ 500: import_responses.InternalErrorResponse
86
+ }
87
+ });
88
+ const queueMessageRoute = (0, import_zod_openapi.createRoute)({
89
+ method: "post",
90
+ path: "/queue/{sessionId}",
91
+ summary: "Queue a message",
92
+ description: "Adds a message to the queue for processing when the session is no longer busy",
93
+ tags: ["queue"],
94
+ request: {
95
+ params: QueueSessionParamSchema,
96
+ body: {
97
+ content: { "application/json": { schema: QueueMessageBodySchema } }
98
+ }
99
+ },
100
+ responses: {
101
+ 201: {
102
+ description: "Message queued successfully",
103
+ content: {
104
+ "application/json": {
105
+ schema: QueueMessageResponseSchema
94
106
  }
95
- },
96
- 404: {
97
- description: "Session not found",
98
- content: { "application/json": { schema: import_responses.ApiErrorResponseSchema } }
99
107
  }
100
- }
101
- });
102
- const removeQueuedMessageRoute = (0, import_zod_openapi.createRoute)({
103
- method: "delete",
104
- path: "/queue/{sessionId}/{messageId}",
105
- summary: "Remove queued message",
106
- description: "Removes a specific message from the queue",
107
- tags: ["queue"],
108
- request: {
109
- params: import_zod_openapi.z.object({
110
- sessionId: import_zod_openapi.z.string().min(1).describe("Session ID"),
111
- messageId: import_zod_openapi.z.string().min(1).describe("ID of the queued message to remove")
112
- })
113
108
  },
114
- responses: {
115
- 200: {
116
- description: "Message removed successfully",
117
- content: {
118
- "application/json": {
119
- schema: import_zod_openapi.z.object({
120
- removed: import_zod_openapi.z.literal(true).describe("Indicates message was removed"),
121
- id: import_zod_openapi.z.string().describe("ID of the removed message")
122
- }).strict()
123
- }
109
+ 404: {
110
+ description: "Session not found",
111
+ content: { "application/json": { schema: import_responses.ApiErrorResponseSchema } }
112
+ },
113
+ 400: import_responses.BadRequestErrorResponse,
114
+ 500: import_responses.InternalErrorResponse
115
+ }
116
+ });
117
+ const removeQueuedMessageRoute = (0, import_zod_openapi.createRoute)({
118
+ method: "delete",
119
+ path: "/queue/{sessionId}/{messageId}",
120
+ summary: "Remove queued message",
121
+ description: "Removes a specific message from the queue",
122
+ tags: ["queue"],
123
+ request: {
124
+ params: QueueMessageParamSchema
125
+ },
126
+ responses: {
127
+ 200: {
128
+ description: "Message removed successfully",
129
+ content: {
130
+ "application/json": {
131
+ schema: RemoveQueuedMessageResponseSchema
124
132
  }
125
- },
126
- 404: {
127
- description: "Session or message not found",
128
- content: { "application/json": { schema: import_responses.ApiErrorResponseSchema } }
129
133
  }
130
- }
131
- });
132
- const clearQueueRoute = (0, import_zod_openapi.createRoute)({
133
- method: "delete",
134
- path: "/queue/{sessionId}",
135
- summary: "Clear message queue",
136
- description: "Removes all messages from the queue for a session",
137
- tags: ["queue"],
138
- request: {
139
- params: import_zod_openapi.z.object({
140
- sessionId: import_zod_openapi.z.string().min(1).describe("Session ID")
141
- })
142
134
  },
143
- responses: {
144
- 200: {
145
- description: "Queue cleared successfully",
146
- content: {
147
- "application/json": {
148
- schema: import_zod_openapi.z.object({
149
- cleared: import_zod_openapi.z.literal(true).describe("Indicates queue was cleared"),
150
- count: import_zod_openapi.z.number().describe("Number of messages that were removed")
151
- }).strict()
152
- }
135
+ 404: {
136
+ description: "Session or message not found",
137
+ content: { "application/json": { schema: import_responses.ApiErrorResponseSchema } }
138
+ },
139
+ 400: import_responses.BadRequestErrorResponse,
140
+ 500: import_responses.InternalErrorResponse
141
+ }
142
+ });
143
+ const clearQueueRoute = (0, import_zod_openapi.createRoute)({
144
+ method: "delete",
145
+ path: "/queue/{sessionId}",
146
+ summary: "Clear message queue",
147
+ description: "Removes all messages from the queue for a session",
148
+ tags: ["queue"],
149
+ request: {
150
+ params: QueueSessionParamSchema
151
+ },
152
+ responses: {
153
+ 200: {
154
+ description: "Queue cleared successfully",
155
+ content: {
156
+ "application/json": {
157
+ schema: ClearQueueResponseSchema
153
158
  }
154
- },
155
- 404: {
156
- description: "Session not found",
157
- content: { "application/json": { schema: import_responses.ApiErrorResponseSchema } }
158
159
  }
159
- }
160
- });
160
+ },
161
+ 404: {
162
+ description: "Session not found",
163
+ content: { "application/json": { schema: import_responses.ApiErrorResponseSchema } }
164
+ },
165
+ 400: import_responses.BadRequestErrorResponse,
166
+ 500: import_responses.InternalErrorResponse
167
+ }
168
+ });
169
+ function createQueueRouter(getAgent) {
170
+ const app = new import_zod_openapi.OpenAPIHono();
161
171
  return app.openapi(getQueueRoute, async (ctx) => {
162
172
  const agent = await getAgent(ctx);
163
173
  const { sessionId } = ctx.req.valid("param");
@@ -170,10 +180,10 @@ function createQueueRouter(getAgent) {
170
180
  ...message.kind !== void 0 ? { kind: message.kind } : {}
171
181
  }));
172
182
  return ctx.json(
173
- {
183
+ GetQueueResponseSchema.parse({
174
184
  messages: responseMessages,
175
185
  count: responseMessages.length
176
- },
186
+ }),
177
187
  200
178
188
  );
179
189
  }).openapi(queueMessageRoute, async (ctx) => {
@@ -187,11 +197,11 @@ function createQueueRouter(getAgent) {
187
197
  ...kind !== void 0 && { kind }
188
198
  });
189
199
  return ctx.json(
190
- {
191
- queued: result.queued,
200
+ QueueMessageResponseSchema.parse({
201
+ queued: true,
192
202
  id: result.id,
193
203
  position: result.position
194
- },
204
+ }),
195
205
  201
196
206
  );
197
207
  }).openapi(removeQueuedMessageRoute, async (ctx) => {
@@ -207,12 +217,15 @@ function createQueueRouter(getAgent) {
207
217
  { sessionId, messageId }
208
218
  );
209
219
  }
210
- return ctx.json({ removed: true, id: messageId }, 200);
220
+ return ctx.json(
221
+ RemoveQueuedMessageResponseSchema.parse({ removed: true, id: messageId }),
222
+ 200
223
+ );
211
224
  }).openapi(clearQueueRoute, async (ctx) => {
212
225
  const agent = await getAgent(ctx);
213
226
  const { sessionId } = ctx.req.valid("param");
214
227
  const count = await agent.clearMessageQueue(sessionId);
215
- return ctx.json({ cleared: true, count }, 200);
228
+ return ctx.json(ClearQueueResponseSchema.parse({ cleared: true, count }), 200);
216
229
  });
217
230
  }
218
231
  // Annotate the CommonJS export names for ESM import in node: