@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.
- package/dist/a2a/jsonrpc/methods.cjs +1 -1
- package/dist/a2a/jsonrpc/methods.d.ts +14 -4
- package/dist/a2a/jsonrpc/methods.d.ts.map +1 -1
- package/dist/a2a/jsonrpc/methods.js +1 -1
- package/dist/approval/wire-approval-events.cjs +44 -0
- package/dist/approval/wire-approval-events.d.ts +4 -0
- package/dist/approval/wire-approval-events.d.ts.map +1 -0
- package/dist/approval/wire-approval-events.js +20 -0
- package/dist/events/session-sse-subscriber.cjs +167 -0
- package/dist/events/session-sse-subscriber.d.ts +13 -0
- package/dist/events/session-sse-subscriber.d.ts.map +1 -0
- package/dist/events/session-sse-subscriber.js +143 -0
- package/dist/hono/__tests__/test-fixtures.cjs +8 -0
- package/dist/hono/__tests__/test-fixtures.d.ts +1 -0
- package/dist/hono/__tests__/test-fixtures.d.ts.map +1 -1
- package/dist/hono/__tests__/test-fixtures.js +8 -0
- package/dist/hono/index.cjs +40 -8
- package/dist/hono/index.d.ts +45 -4531
- package/dist/hono/index.d.ts.map +1 -1
- package/dist/hono/index.js +43 -9
- package/dist/hono/node/index.cjs +51 -6
- package/dist/hono/node/index.d.ts.map +1 -1
- package/dist/hono/node/index.js +51 -6
- package/dist/hono/routes/a2a-jsonrpc.d.ts.map +1 -1
- package/dist/hono/routes/a2a-tasks.cjs +158 -32
- package/dist/hono/routes/a2a-tasks.d.ts +1 -502
- package/dist/hono/routes/a2a-tasks.d.ts.map +1 -1
- package/dist/hono/routes/a2a-tasks.js +162 -32
- package/dist/hono/routes/a2a.d.ts.map +1 -1
- package/dist/hono/routes/agents.cjs +410 -329
- package/dist/hono/routes/agents.d.ts +16043 -68
- package/dist/hono/routes/agents.d.ts.map +1 -1
- package/dist/hono/routes/agents.js +418 -330
- package/dist/hono/routes/approvals.cjs +102 -88
- package/dist/hono/routes/approvals.d.ts +2089 -142
- package/dist/hono/routes/approvals.d.ts.map +1 -1
- package/dist/hono/routes/approvals.js +108 -89
- package/dist/hono/routes/dexto-auth.cjs +40 -33
- package/dist/hono/routes/dexto-auth.d.ts +401 -2
- package/dist/hono/routes/dexto-auth.d.ts.map +1 -1
- package/dist/hono/routes/dexto-auth.js +40 -33
- package/dist/hono/routes/discovery.cjs +16 -14
- package/dist/hono/routes/discovery.d.ts +586 -1
- package/dist/hono/routes/discovery.d.ts.map +1 -1
- package/dist/hono/routes/discovery.js +16 -14
- package/dist/hono/routes/greeting.cjs +26 -22
- package/dist/hono/routes/greeting.d.ts +787 -3
- package/dist/hono/routes/greeting.d.ts.map +1 -1
- package/dist/hono/routes/greeting.js +26 -22
- package/dist/hono/routes/health.d.ts +1 -1
- package/dist/hono/routes/key.cjs +60 -52
- package/dist/hono/routes/key.d.ts +1597 -1
- package/dist/hono/routes/key.d.ts.map +1 -1
- package/dist/hono/routes/key.js +60 -52
- package/dist/hono/routes/llm.cjs +382 -349
- package/dist/hono/routes/llm.d.ts +12148 -98
- package/dist/hono/routes/llm.d.ts.map +1 -1
- package/dist/hono/routes/llm.js +386 -349
- package/dist/hono/routes/mcp.cjs +257 -226
- package/dist/hono/routes/mcp.d.ts +6605 -309
- package/dist/hono/routes/mcp.d.ts.map +1 -1
- package/dist/hono/routes/mcp.js +263 -225
- package/dist/hono/routes/memory.cjs +102 -89
- package/dist/hono/routes/memory.d.ts +5368 -4
- package/dist/hono/routes/memory.d.ts.map +1 -1
- package/dist/hono/routes/memory.js +108 -90
- package/dist/hono/routes/messages.cjs +189 -191
- package/dist/hono/routes/messages.d.ts +3900 -12
- package/dist/hono/routes/messages.d.ts.map +1 -1
- package/dist/hono/routes/messages.js +192 -191
- package/dist/hono/routes/models.cjs +106 -64
- package/dist/hono/routes/models.d.ts +2875 -2
- package/dist/hono/routes/models.d.ts.map +1 -1
- package/dist/hono/routes/models.js +108 -64
- package/dist/hono/routes/openrouter.cjs +79 -65
- package/dist/hono/routes/openrouter.d.ts +854 -1
- package/dist/hono/routes/openrouter.d.ts.map +1 -1
- package/dist/hono/routes/openrouter.js +79 -65
- package/dist/hono/routes/prompts.cjs +136 -109
- package/dist/hono/routes/prompts.d.ts +2818 -10
- package/dist/hono/routes/prompts.d.ts.map +1 -1
- package/dist/hono/routes/prompts.js +138 -109
- package/dist/hono/routes/queue.cjs +133 -120
- package/dist/hono/routes/queue.d.ts +5240 -11
- package/dist/hono/routes/queue.d.ts.map +1 -1
- package/dist/hono/routes/queue.js +136 -120
- package/dist/hono/routes/resources.cjs +65 -46
- package/dist/hono/routes/resources.d.ts +1983 -5
- package/dist/hono/routes/resources.d.ts.map +1 -1
- package/dist/hono/routes/resources.js +72 -47
- package/dist/hono/routes/schedules.cjs +233 -226
- package/dist/hono/routes/schedules.d.ts +4198 -22
- package/dist/hono/routes/schedules.d.ts.map +1 -1
- package/dist/hono/routes/schedules.js +233 -226
- package/dist/hono/routes/search.cjs +34 -30
- package/dist/hono/routes/search.d.ts +3094 -17
- package/dist/hono/routes/search.d.ts.map +1 -1
- package/dist/hono/routes/search.js +40 -31
- package/dist/hono/routes/sessions.cjs +491 -393
- package/dist/hono/routes/sessions.d.ts +18263 -65
- package/dist/hono/routes/sessions.d.ts.map +1 -1
- package/dist/hono/routes/sessions.js +497 -395
- package/dist/hono/routes/static.d.ts.map +1 -1
- package/dist/hono/routes/system-prompt.cjs +57 -61
- package/dist/hono/routes/system-prompt.d.ts +1228 -2
- package/dist/hono/routes/system-prompt.d.ts.map +1 -1
- package/dist/hono/routes/system-prompt.js +58 -62
- package/dist/hono/routes/tools.cjs +29 -34
- package/dist/hono/routes/tools.d.ts +1755 -6
- package/dist/hono/routes/tools.d.ts.map +1 -1
- package/dist/hono/routes/tools.js +33 -33
- package/dist/hono/routes/webhooks.cjs +115 -123
- package/dist/hono/routes/webhooks.d.ts +2501 -11
- package/dist/hono/routes/webhooks.d.ts.map +1 -1
- package/dist/hono/routes/webhooks.js +120 -124
- package/dist/hono/routes/workspaces.cjs +84 -79
- package/dist/hono/routes/workspaces.d.ts +2093 -2
- package/dist/hono/routes/workspaces.d.ts.map +1 -1
- package/dist/hono/routes/workspaces.js +89 -80
- package/dist/hono/schemas/responses.cjs +463 -260
- package/dist/hono/schemas/responses.d.ts +1893 -209
- package/dist/hono/schemas/responses.d.ts.map +1 -1
- package/dist/hono/schemas/responses.js +203 -14
- package/dist/hono/start-server.cjs +9 -0
- package/dist/hono/start-server.d.ts.map +1 -1
- package/dist/hono/start-server.js +9 -0
- package/dist/hono/types.d.ts +11 -0
- package/dist/hono/types.d.ts.map +1 -1
- package/dist/index.cjs +5 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- 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,
|
|
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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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
|
-
|
|
94
|
-
|
|
133
|
+
404: {
|
|
134
|
+
description: "Prompt not found",
|
|
135
|
+
content: { "application/json": { schema: ApiErrorResponseSchema } }
|
|
95
136
|
}
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
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
|
-
|
|
134
|
-
|
|
135
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
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:
|
|
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
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
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
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
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
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
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:
|
|
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(
|
|
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:
|