@dexto/server 1.6.20 → 1.6.21

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 (111) 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/hono/index.cjs +39 -8
  6. package/dist/hono/index.d.ts +43 -4531
  7. package/dist/hono/index.d.ts.map +1 -1
  8. package/dist/hono/index.js +42 -9
  9. package/dist/hono/routes/a2a-jsonrpc.d.ts.map +1 -1
  10. package/dist/hono/routes/a2a-tasks.cjs +158 -32
  11. package/dist/hono/routes/a2a-tasks.d.ts +1 -502
  12. package/dist/hono/routes/a2a-tasks.d.ts.map +1 -1
  13. package/dist/hono/routes/a2a-tasks.js +162 -32
  14. package/dist/hono/routes/a2a.d.ts.map +1 -1
  15. package/dist/hono/routes/agents.cjs +410 -329
  16. package/dist/hono/routes/agents.d.ts +16043 -68
  17. package/dist/hono/routes/agents.d.ts.map +1 -1
  18. package/dist/hono/routes/agents.js +418 -330
  19. package/dist/hono/routes/approvals.cjs +102 -88
  20. package/dist/hono/routes/approvals.d.ts +2089 -142
  21. package/dist/hono/routes/approvals.d.ts.map +1 -1
  22. package/dist/hono/routes/approvals.js +108 -89
  23. package/dist/hono/routes/dexto-auth.cjs +40 -33
  24. package/dist/hono/routes/dexto-auth.d.ts +401 -2
  25. package/dist/hono/routes/dexto-auth.d.ts.map +1 -1
  26. package/dist/hono/routes/dexto-auth.js +40 -33
  27. package/dist/hono/routes/discovery.cjs +16 -14
  28. package/dist/hono/routes/discovery.d.ts +586 -1
  29. package/dist/hono/routes/discovery.d.ts.map +1 -1
  30. package/dist/hono/routes/discovery.js +16 -14
  31. package/dist/hono/routes/greeting.cjs +26 -22
  32. package/dist/hono/routes/greeting.d.ts +787 -3
  33. package/dist/hono/routes/greeting.d.ts.map +1 -1
  34. package/dist/hono/routes/greeting.js +26 -22
  35. package/dist/hono/routes/health.d.ts +1 -1
  36. package/dist/hono/routes/key.cjs +60 -52
  37. package/dist/hono/routes/key.d.ts +1597 -1
  38. package/dist/hono/routes/key.d.ts.map +1 -1
  39. package/dist/hono/routes/key.js +60 -52
  40. package/dist/hono/routes/llm.cjs +381 -348
  41. package/dist/hono/routes/llm.d.ts +12136 -86
  42. package/dist/hono/routes/llm.d.ts.map +1 -1
  43. package/dist/hono/routes/llm.js +385 -348
  44. package/dist/hono/routes/mcp.cjs +257 -226
  45. package/dist/hono/routes/mcp.d.ts +6605 -309
  46. package/dist/hono/routes/mcp.d.ts.map +1 -1
  47. package/dist/hono/routes/mcp.js +263 -225
  48. package/dist/hono/routes/memory.cjs +102 -89
  49. package/dist/hono/routes/memory.d.ts +5368 -4
  50. package/dist/hono/routes/memory.d.ts.map +1 -1
  51. package/dist/hono/routes/memory.js +108 -90
  52. package/dist/hono/routes/messages.cjs +147 -139
  53. package/dist/hono/routes/messages.d.ts +3900 -11
  54. package/dist/hono/routes/messages.d.ts.map +1 -1
  55. package/dist/hono/routes/messages.js +150 -139
  56. package/dist/hono/routes/models.cjs +106 -64
  57. package/dist/hono/routes/models.d.ts +2874 -1
  58. package/dist/hono/routes/models.d.ts.map +1 -1
  59. package/dist/hono/routes/models.js +108 -64
  60. package/dist/hono/routes/openrouter.cjs +79 -65
  61. package/dist/hono/routes/openrouter.d.ts +854 -1
  62. package/dist/hono/routes/openrouter.d.ts.map +1 -1
  63. package/dist/hono/routes/openrouter.js +79 -65
  64. package/dist/hono/routes/prompts.cjs +136 -109
  65. package/dist/hono/routes/prompts.d.ts +2818 -10
  66. package/dist/hono/routes/prompts.d.ts.map +1 -1
  67. package/dist/hono/routes/prompts.js +138 -109
  68. package/dist/hono/routes/queue.cjs +133 -120
  69. package/dist/hono/routes/queue.d.ts +5144 -9
  70. package/dist/hono/routes/queue.d.ts.map +1 -1
  71. package/dist/hono/routes/queue.js +136 -120
  72. package/dist/hono/routes/resources.cjs +65 -46
  73. package/dist/hono/routes/resources.d.ts +1982 -4
  74. package/dist/hono/routes/resources.d.ts.map +1 -1
  75. package/dist/hono/routes/resources.js +72 -47
  76. package/dist/hono/routes/schedules.cjs +233 -226
  77. package/dist/hono/routes/schedules.d.ts +4198 -22
  78. package/dist/hono/routes/schedules.d.ts.map +1 -1
  79. package/dist/hono/routes/schedules.js +233 -226
  80. package/dist/hono/routes/search.cjs +34 -30
  81. package/dist/hono/routes/search.d.ts +2835 -12
  82. package/dist/hono/routes/search.d.ts.map +1 -1
  83. package/dist/hono/routes/search.js +40 -31
  84. package/dist/hono/routes/sessions.cjs +403 -396
  85. package/dist/hono/routes/sessions.d.ts +16582 -27
  86. package/dist/hono/routes/sessions.d.ts.map +1 -1
  87. package/dist/hono/routes/sessions.js +407 -397
  88. package/dist/hono/routes/static.d.ts.map +1 -1
  89. package/dist/hono/routes/system-prompt.cjs +57 -61
  90. package/dist/hono/routes/system-prompt.d.ts +1228 -2
  91. package/dist/hono/routes/system-prompt.d.ts.map +1 -1
  92. package/dist/hono/routes/system-prompt.js +58 -62
  93. package/dist/hono/routes/tools.cjs +29 -34
  94. package/dist/hono/routes/tools.d.ts +1755 -6
  95. package/dist/hono/routes/tools.d.ts.map +1 -1
  96. package/dist/hono/routes/tools.js +33 -33
  97. package/dist/hono/routes/webhooks.cjs +115 -123
  98. package/dist/hono/routes/webhooks.d.ts +2501 -11
  99. package/dist/hono/routes/webhooks.d.ts.map +1 -1
  100. package/dist/hono/routes/webhooks.js +120 -124
  101. package/dist/hono/routes/workspaces.cjs +84 -79
  102. package/dist/hono/routes/workspaces.d.ts +2093 -2
  103. package/dist/hono/routes/workspaces.d.ts.map +1 -1
  104. package/dist/hono/routes/workspaces.js +89 -80
  105. package/dist/hono/schemas/responses.cjs +406 -259
  106. package/dist/hono/schemas/responses.d.ts +1246 -123
  107. package/dist/hono/schemas/responses.d.ts.map +1 -1
  108. package/dist/hono/schemas/responses.js +144 -10
  109. package/dist/hono/types.d.ts +11 -0
  110. package/dist/hono/types.d.ts.map +1 -1
  111. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../../src/hono/routes/openrouter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAkChE;;;GAGG;AACH,wBAAgB,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA8HrC"}
1
+ {"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../../src/hono/routes/openrouter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAe,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAQhE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,QAAA,MAAM,yBAAyB;;;;;;EAOsB,CAAC;AAiCtD,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsBjB,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwBhB,CAAC;AAEH;;;GAGG;AACH,wBAAgB,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAiFrC;AAED,KAAK,mBAAmB,GAAG,kBAAkB,CACzC,OAAO,aAAa,EACpB;IAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;CAAE,CACvD,CAAC;AACF,KAAK,kBAAkB,GAAG,kBAAkB,CAAC,OAAO,YAAY,EAAE,EAAE,CAAC,CAAC;AAEtE,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,GAAG,kBAAkB,CAAC"}
@@ -5,6 +5,7 @@ import {
5
5
  refreshOpenRouterModelCache,
6
6
  getOpenRouterModelInfo
7
7
  } from "@dexto/core";
8
+ import { BadRequestErrorResponse, InternalErrorResponse } from "../schemas/responses.js";
8
9
  const ValidateModelParamsSchema = z.object({
9
10
  modelId: z.string().min(1).describe("OpenRouter model ID to validate (e.g., anthropic/claude-3.5-sonnet)")
10
11
  }).describe("Path parameters for model validation");
@@ -17,59 +18,63 @@ const ValidateModelResponseSchema = z.object({
17
18
  contextLength: z.number().describe("Model context length in tokens")
18
19
  }).optional().describe("Model information if valid")
19
20
  }).describe("Model validation response");
20
- function createOpenRouterRouter() {
21
- const app = new OpenAPIHono();
22
- const validateRoute = createRoute({
23
- method: "get",
24
- path: "/openrouter/validate/{modelId}",
25
- summary: "Validate OpenRouter Model",
26
- description: "Validates an OpenRouter model ID against the cached model registry. Refreshes cache if stale.",
27
- tags: ["openrouter"],
28
- request: {
29
- params: ValidateModelParamsSchema
30
- },
31
- responses: {
32
- 200: {
33
- description: "Validation result",
34
- content: {
35
- "application/json": {
36
- schema: ValidateModelResponseSchema
37
- }
21
+ const RefreshSuccessResponseSchema = z.object({
22
+ ok: z.literal(true).describe("Success indicator"),
23
+ message: z.string().describe("Status message")
24
+ }).describe("OpenRouter cache refresh success response");
25
+ const RefreshFailureResponseSchema = z.object({
26
+ ok: z.literal(false).describe("Failure indicator"),
27
+ message: z.string().describe("Error message")
28
+ }).describe("OpenRouter cache refresh failure response");
29
+ const validateRoute = createRoute({
30
+ method: "get",
31
+ path: "/openrouter/validate/{modelId}",
32
+ summary: "Validate OpenRouter Model",
33
+ description: "Validates an OpenRouter model ID against the cached model registry. Refreshes cache if stale.",
34
+ tags: ["openrouter"],
35
+ request: {
36
+ params: ValidateModelParamsSchema
37
+ },
38
+ responses: {
39
+ 200: {
40
+ description: "Validation result",
41
+ content: {
42
+ "application/json": {
43
+ schema: ValidateModelResponseSchema
38
44
  }
39
45
  }
40
- }
41
- });
42
- const refreshRoute = createRoute({
43
- method: "post",
44
- path: "/openrouter/refresh-cache",
45
- summary: "Refresh OpenRouter Model Cache",
46
- description: "Forces a refresh of the OpenRouter model registry cache from the API.",
47
- tags: ["openrouter"],
48
- responses: {
49
- 200: {
50
- description: "Cache refreshed successfully",
51
- content: {
52
- "application/json": {
53
- schema: z.object({
54
- ok: z.literal(true).describe("Success indicator"),
55
- message: z.string().describe("Status message")
56
- })
57
- }
46
+ },
47
+ 400: BadRequestErrorResponse,
48
+ 500: InternalErrorResponse
49
+ }
50
+ });
51
+ const refreshRoute = createRoute({
52
+ method: "post",
53
+ path: "/openrouter/refresh-cache",
54
+ summary: "Refresh OpenRouter Model Cache",
55
+ description: "Forces a refresh of the OpenRouter model registry cache from the API.",
56
+ tags: ["openrouter"],
57
+ responses: {
58
+ 200: {
59
+ description: "Cache refreshed successfully",
60
+ content: {
61
+ "application/json": {
62
+ schema: RefreshSuccessResponseSchema
58
63
  }
59
- },
60
- 500: {
61
- description: "Cache refresh failed",
62
- content: {
63
- "application/json": {
64
- schema: z.object({
65
- ok: z.literal(false).describe("Failure indicator"),
66
- message: z.string().describe("Error message")
67
- })
68
- }
64
+ }
65
+ },
66
+ 500: {
67
+ description: "Cache refresh failed",
68
+ content: {
69
+ "application/json": {
70
+ schema: RefreshFailureResponseSchema
69
71
  }
70
72
  }
71
73
  }
72
- });
74
+ }
75
+ });
76
+ function createOpenRouterRouter() {
77
+ const app = new OpenAPIHono();
73
78
  return app.openapi(validateRoute, async (ctx) => {
74
79
  const { modelId: encodedModelId } = ctx.req.valid("param");
75
80
  const modelId = decodeURIComponent(encodedModelId);
@@ -82,29 +87,38 @@ function createOpenRouterRouter() {
82
87
  logger.warn(
83
88
  `OpenRouter cache refresh failed during validation: ${error instanceof Error ? error.message : String(error)}`
84
89
  );
85
- return ctx.json({
86
- valid: false,
87
- modelId,
88
- status: "unknown",
89
- error: "Could not validate model - cache refresh failed"
90
- });
90
+ return ctx.json(
91
+ {
92
+ valid: false,
93
+ modelId,
94
+ status: "unknown",
95
+ error: "Could not validate model - cache refresh failed"
96
+ },
97
+ 200
98
+ );
91
99
  }
92
100
  }
93
101
  if (status === "invalid") {
94
- return ctx.json({
95
- valid: false,
96
- modelId,
97
- status: "invalid",
98
- error: `Model '${modelId}' not found in OpenRouter. Check the model ID at https://openrouter.ai/models`
99
- });
102
+ return ctx.json(
103
+ {
104
+ valid: false,
105
+ modelId,
106
+ status: "invalid",
107
+ error: `Model '${modelId}' not found in OpenRouter. Check the model ID at https://openrouter.ai/models`
108
+ },
109
+ 200
110
+ );
100
111
  }
101
112
  const info = getOpenRouterModelInfo(modelId);
102
- return ctx.json({
103
- valid: true,
104
- modelId,
105
- status: "valid",
106
- ...info && { info: { contextLength: info.contextLength } }
107
- });
113
+ return ctx.json(
114
+ {
115
+ valid: true,
116
+ modelId,
117
+ status: "valid",
118
+ ...info && { info: { contextLength: info.contextLength } }
119
+ },
120
+ 200
121
+ );
108
122
  }).openapi(refreshRoute, async (ctx) => {
109
123
  try {
110
124
  await refreshOpenRouterModelCache();
@@ -49,129 +49,142 @@ const ResolvePromptQuerySchema = import_zod_openapi.z.object({
49
49
  context: import_zod_openapi.z.string().optional().describe("Additional context for prompt resolution"),
50
50
  args: import_zod_openapi.z.string().optional().describe("Arguments to substitute in the prompt template (pass as a JSON string)")
51
51
  }).describe("Query parameters for resolving prompt templates");
52
- function createPromptsRouter(getAgent) {
53
- const app = new import_zod_openapi.OpenAPIHono();
54
- const listRoute = (0, import_zod_openapi.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: import_zod_openapi.z.object({
66
- prompts: import_zod_openapi.z.array(import_responses.PromptInfoSchema).describe("Array of available prompts")
67
- }).strict().describe("Prompts list response")
68
- }
52
+ const ListPromptsResponseSchema = import_zod_openapi.z.object({
53
+ prompts: import_zod_openapi.z.array(import_responses.PromptInfoSchema).describe("Array of available prompts")
54
+ }).strict().describe("Prompts list response");
55
+ const CreatePromptResponseSchema = import_zod_openapi.z.object({
56
+ prompt: import_responses.PromptInfoSchema.describe("Created prompt information")
57
+ }).strict().describe("Create prompt response");
58
+ const GetPromptDefinitionResponseSchema = import_zod_openapi.z.object({
59
+ definition: import_responses.PromptDefinitionSchema.describe("Prompt definition")
60
+ }).strict().describe("Get prompt definition response");
61
+ const ResolvePromptResponseSchema = import_zod_openapi.z.object({
62
+ text: import_zod_openapi.z.string().describe("Resolved prompt text"),
63
+ resources: import_zod_openapi.z.array(import_zod_openapi.z.string()).describe("Array of resource identifiers")
64
+ }).strict().describe("Resolve prompt response");
65
+ function serializePromptInfo(prompt) {
66
+ return import_responses.PromptInfoSchema.parse(JSON.parse(JSON.stringify(prompt)));
67
+ }
68
+ function serializePromptDefinition(definition) {
69
+ return import_responses.PromptDefinitionSchema.parse(JSON.parse(JSON.stringify(definition)));
70
+ }
71
+ const listRoute = (0, import_zod_openapi.createRoute)({
72
+ method: "get",
73
+ path: "/prompts",
74
+ summary: "List Prompts",
75
+ description: "Retrieves all available prompts, including both built-in and custom prompts",
76
+ tags: ["prompts"],
77
+ responses: {
78
+ 200: {
79
+ description: "List all prompts",
80
+ content: {
81
+ "application/json": {
82
+ schema: ListPromptsResponseSchema
83
+ }
84
+ }
85
+ },
86
+ 500: import_responses.InternalErrorResponse
87
+ }
88
+ });
89
+ const createCustomRoute = (0, import_zod_openapi.createRoute)({
90
+ method: "post",
91
+ path: "/prompts/custom",
92
+ summary: "Create Custom Prompt",
93
+ description: "Creates a new custom prompt with optional resource attachment. Maximum request size: 10MB",
94
+ tags: ["prompts"],
95
+ request: {
96
+ body: {
97
+ content: {
98
+ "application/json": {
99
+ schema: CustomPromptRequestSchema
69
100
  }
70
101
  }
71
102
  }
72
- });
73
- const createCustomRoute = (0, import_zod_openapi.createRoute)({
74
- method: "post",
75
- path: "/prompts/custom",
76
- summary: "Create Custom Prompt",
77
- description: "Creates a new custom prompt with optional resource attachment. Maximum request size: 10MB",
78
- tags: ["prompts"],
79
- request: {
80
- body: {
81
- content: {
82
- "application/json": {
83
- schema: CustomPromptRequestSchema
84
- }
103
+ },
104
+ responses: {
105
+ 201: {
106
+ description: "Custom prompt created",
107
+ content: {
108
+ "application/json": {
109
+ schema: CreatePromptResponseSchema
85
110
  }
86
111
  }
87
112
  },
88
- responses: {
89
- 201: {
90
- description: "Custom prompt created",
91
- content: {
92
- "application/json": {
93
- schema: import_zod_openapi.z.object({
94
- prompt: import_responses.PromptInfoSchema.describe("Created prompt information")
95
- }).strict().describe("Create prompt response")
96
- }
113
+ 400: import_responses.BadRequestErrorResponse,
114
+ 500: import_responses.InternalErrorResponse
115
+ }
116
+ });
117
+ const deleteCustomRoute = (0, import_zod_openapi.createRoute)({
118
+ method: "delete",
119
+ path: "/prompts/custom/{name}",
120
+ summary: "Delete Custom Prompt",
121
+ description: "Permanently deletes a custom prompt. Built-in prompts cannot be deleted",
122
+ tags: ["prompts"],
123
+ request: {
124
+ params: import_zod_openapi.z.object({
125
+ name: import_zod_openapi.z.string().min(1, "Prompt name is required").describe("The prompt name")
126
+ })
127
+ },
128
+ responses: {
129
+ 204: { description: "Prompt deleted" }
130
+ }
131
+ });
132
+ const getPromptRoute = (0, import_zod_openapi.createRoute)({
133
+ method: "get",
134
+ path: "/prompts/{name}",
135
+ summary: "Get Prompt Definition",
136
+ description: "Fetches the definition for a specific prompt",
137
+ tags: ["prompts"],
138
+ request: {
139
+ params: PromptNameParamSchema
140
+ },
141
+ responses: {
142
+ 200: {
143
+ description: "Prompt definition",
144
+ content: {
145
+ "application/json": {
146
+ schema: GetPromptDefinitionResponseSchema
97
147
  }
98
148
  }
99
- }
100
- });
101
- const deleteCustomRoute = (0, import_zod_openapi.createRoute)({
102
- method: "delete",
103
- path: "/prompts/custom/{name}",
104
- summary: "Delete Custom Prompt",
105
- description: "Permanently deletes a custom prompt. Built-in prompts cannot be deleted",
106
- tags: ["prompts"],
107
- request: {
108
- params: import_zod_openapi.z.object({
109
- name: import_zod_openapi.z.string().min(1, "Prompt name is required").describe("The prompt name")
110
- })
111
149
  },
112
- responses: {
113
- 204: { description: "Prompt deleted" }
150
+ 404: {
151
+ description: "Prompt not found",
152
+ content: { "application/json": { schema: import_responses.ApiErrorResponseSchema } }
114
153
  }
115
- });
116
- const getPromptRoute = (0, import_zod_openapi.createRoute)({
117
- method: "get",
118
- path: "/prompts/{name}",
119
- summary: "Get Prompt Definition",
120
- description: "Fetches the definition for a specific prompt",
121
- tags: ["prompts"],
122
- request: {
123
- params: PromptNameParamSchema
124
- },
125
- responses: {
126
- 200: {
127
- description: "Prompt definition",
128
- content: {
129
- "application/json": {
130
- schema: import_zod_openapi.z.object({
131
- definition: import_responses.PromptDefinitionSchema.describe("Prompt definition")
132
- }).strict().describe("Get prompt definition response")
133
- }
154
+ }
155
+ });
156
+ const resolvePromptRoute = (0, import_zod_openapi.createRoute)({
157
+ method: "get",
158
+ path: "/prompts/{name}/resolve",
159
+ summary: "Resolve Prompt",
160
+ description: "Resolves a prompt template with provided arguments and returns the final text with resources",
161
+ tags: ["prompts"],
162
+ request: {
163
+ params: PromptNameParamSchema,
164
+ query: ResolvePromptQuerySchema
165
+ },
166
+ responses: {
167
+ 200: {
168
+ description: "Resolved prompt content",
169
+ content: {
170
+ "application/json": {
171
+ schema: ResolvePromptResponseSchema
134
172
  }
135
- },
136
- 404: {
137
- description: "Prompt not found",
138
- content: { "application/json": { schema: import_responses.ApiErrorResponseSchema } }
139
173
  }
140
- }
141
- });
142
- const resolvePromptRoute = (0, import_zod_openapi.createRoute)({
143
- method: "get",
144
- path: "/prompts/{name}/resolve",
145
- summary: "Resolve Prompt",
146
- description: "Resolves a prompt template with provided arguments and returns the final text with resources",
147
- tags: ["prompts"],
148
- request: {
149
- params: PromptNameParamSchema,
150
- query: ResolvePromptQuerySchema
151
174
  },
152
- responses: {
153
- 200: {
154
- description: "Resolved prompt content",
155
- content: {
156
- "application/json": {
157
- schema: import_zod_openapi.z.object({
158
- text: import_zod_openapi.z.string().describe("Resolved prompt text"),
159
- resources: import_zod_openapi.z.array(import_zod_openapi.z.string()).describe("Array of resource identifiers")
160
- }).strict().describe("Resolve prompt response")
161
- }
162
- }
163
- },
164
- 404: {
165
- description: "Prompt not found",
166
- content: { "application/json": { schema: import_responses.ApiErrorResponseSchema } }
167
- }
175
+ 404: {
176
+ description: "Prompt not found",
177
+ content: { "application/json": { schema: import_responses.ApiErrorResponseSchema } }
168
178
  }
169
- });
179
+ }
180
+ });
181
+ function createPromptsRouter(getAgent) {
182
+ const app = new import_zod_openapi.OpenAPIHono();
170
183
  return app.openapi(listRoute, async (ctx) => {
171
184
  const agent = await getAgent(ctx);
172
185
  const prompts = await agent.listPrompts();
173
- const list = Object.values(prompts);
174
- return ctx.json({ prompts: list });
186
+ const list = Object.values(prompts).map(serializePromptInfo);
187
+ return ctx.json(ListPromptsResponseSchema.parse({ prompts: list }), 200);
175
188
  }).openapi(createCustomRoute, async (ctx) => {
176
189
  const agent = await getAgent(ctx);
177
190
  const payload = ctx.req.valid("json");
@@ -195,7 +208,10 @@ function createPromptsRouter(getAgent) {
195
208
  } : {}
196
209
  };
197
210
  const prompt = await agent.createCustomPrompt(createPayload);
198
- return ctx.json({ prompt }, 201);
211
+ return ctx.json(
212
+ CreatePromptResponseSchema.parse({ prompt: serializePromptInfo(prompt) }),
213
+ 201
214
+ );
199
215
  }).openapi(deleteCustomRoute, async (ctx) => {
200
216
  const agent = await getAgent(ctx);
201
217
  const { name } = ctx.req.valid("param");
@@ -206,7 +222,12 @@ function createPromptsRouter(getAgent) {
206
222
  const { name } = ctx.req.valid("param");
207
223
  const definition = await agent.getPromptDefinition(name);
208
224
  if (!definition) throw import_core.PromptError.notFound(name);
209
- return ctx.json({ definition }, 200);
225
+ return ctx.json(
226
+ GetPromptDefinitionResponseSchema.parse({
227
+ definition: serializePromptDefinition(definition)
228
+ }),
229
+ 200
230
+ );
210
231
  }).openapi(resolvePromptRoute, async (ctx) => {
211
232
  const agent = await getAgent(ctx);
212
233
  const { name } = ctx.req.valid("param");
@@ -225,7 +246,13 @@ function createPromptsRouter(getAgent) {
225
246
  if (context !== void 0) options.context = context;
226
247
  if (parsedArgs !== void 0) options.args = parsedArgs;
227
248
  const result = await agent.resolvePrompt(name, options);
228
- return ctx.json({ text: result.text, resources: result.resources }, 200);
249
+ return ctx.json(
250
+ ResolvePromptResponseSchema.parse({
251
+ text: result.text,
252
+ resources: result.resources
253
+ }),
254
+ 200
255
+ );
229
256
  });
230
257
  }
231
258
  // Annotate the CommonJS export names for ESM import in node: