@finalai/agent-protocol 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of @finalai/agent-protocol might be problematic. Click here for more details.
- package/README.md +10 -0
- package/dist/modules/agent-platform/agents.d.mts +162 -0
- package/dist/modules/agent-platform/agents.mjs +91 -0
- package/dist/modules/agent-platform/agents.mjs.map +7 -0
- package/dist/modules/agent-platform/build.d.mts +678 -0
- package/dist/modules/agent-platform/build.mjs +348 -0
- package/dist/modules/agent-platform/build.mjs.map +7 -0
- package/dist/modules/agent-platform/common.d.mts +221 -0
- package/dist/modules/agent-platform/common.mjs +157 -0
- package/dist/modules/agent-platform/common.mjs.map +7 -0
- package/dist/modules/agent-platform/conversation-schedules.d.mts +98 -0
- package/dist/modules/agent-platform/conversation-schedules.mjs +70 -0
- package/dist/modules/agent-platform/conversation-schedules.mjs.map +7 -0
- package/dist/modules/agent-platform/conversations.d.mts +1024 -0
- package/dist/modules/agent-platform/conversations.mjs +378 -0
- package/dist/modules/agent-platform/conversations.mjs.map +7 -0
- package/dist/modules/agent-platform/enums.d.mts +231 -0
- package/dist/modules/agent-platform/enums.mjs +306 -0
- package/dist/modules/agent-platform/enums.mjs.map +7 -0
- package/dist/modules/agent-platform/index.d.mts +13 -0
- package/dist/modules/agent-platform/index.mjs +16 -0
- package/dist/modules/agent-platform/index.mjs.map +7 -0
- package/dist/modules/agent-platform/links.d.mts +77 -0
- package/dist/modules/agent-platform/links.mjs +34 -0
- package/dist/modules/agent-platform/links.mjs.map +7 -0
- package/dist/modules/agent-platform/people.d.mts +21 -0
- package/dist/modules/agent-platform/people.mjs +22 -0
- package/dist/modules/agent-platform/people.mjs.map +7 -0
- package/dist/modules/agent-platform/realtime.d.mts +713 -0
- package/dist/modules/agent-platform/realtime.mjs +185 -0
- package/dist/modules/agent-platform/realtime.mjs.map +7 -0
- package/dist/modules/agent-platform/sandboxes.d.mts +203 -0
- package/dist/modules/agent-platform/sandboxes.mjs +186 -0
- package/dist/modules/agent-platform/sandboxes.mjs.map +7 -0
- package/dist/modules/agent-platform/sessions.d.mts +494 -0
- package/dist/modules/agent-platform/sessions.mjs +242 -0
- package/dist/modules/agent-platform/sessions.mjs.map +7 -0
- package/dist/modules/base58.d.mts +2 -0
- package/dist/modules/base58.mjs +46 -0
- package/dist/modules/base58.mjs.map +7 -0
- package/dist/modules/index.d.mts +4 -0
- package/dist/modules/index.mjs +5 -0
- package/dist/modules/index.mjs.map +7 -0
- package/dist/modules/json-rpc.d.mts +15 -0
- package/dist/modules/json-rpc.mjs +20 -0
- package/dist/modules/json-rpc.mjs.map +7 -0
- package/dist/modules/json.d.mts +7 -0
- package/dist/modules/json.mjs +11 -0
- package/dist/modules/json.mjs.map +7 -0
- package/dist/modules/process-inspection.d.mts +177 -0
- package/dist/modules/process-inspection.mjs +83 -0
- package/dist/modules/process-inspection.mjs.map +7 -0
- package/dist/modules/tolerance.d.mts +18 -0
- package/dist/modules/tolerance.mjs +15 -0
- package/dist/modules/tolerance.mjs.map +7 -0
- package/package.json +121 -0
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
import { jsonObjectSchema, jsonValueSchema } from "../json.mjs";
|
|
3
|
+
import { jsonRpcIdSchema } from "../json-rpc.mjs";
|
|
4
|
+
import { tolerantStringEnum } from "../tolerance.mjs";
|
|
5
|
+
import { AgentHealthStatus, ProviderRefKind } from "./enums.mjs";
|
|
6
|
+
const nullableString = () => z.string().nullable().default(null);
|
|
7
|
+
const nullableNumber = () => z.number().nullable().default(null);
|
|
8
|
+
const contentBlockSchema = z.looseObject({
|
|
9
|
+
type: z.string(),
|
|
10
|
+
text: z.string().optional(),
|
|
11
|
+
mimeType: z.string().optional(),
|
|
12
|
+
data: z.string().optional(),
|
|
13
|
+
uri: z.string().nullable().optional(),
|
|
14
|
+
name: z.string().optional(),
|
|
15
|
+
title: z.string().nullable().optional(),
|
|
16
|
+
size: z.number().nullable().optional(),
|
|
17
|
+
resource: jsonValueSchema.optional(),
|
|
18
|
+
_meta: jsonValueSchema.optional()
|
|
19
|
+
});
|
|
20
|
+
const acpWireMessageSchema = z.looseObject({
|
|
21
|
+
jsonrpc: z.string().optional(),
|
|
22
|
+
id: jsonRpcIdSchema.optional(),
|
|
23
|
+
method: z.string().optional(),
|
|
24
|
+
params: jsonValueSchema.optional(),
|
|
25
|
+
result: jsonValueSchema.optional(),
|
|
26
|
+
error: z.looseObject({ code: z.number(), message: z.string(), data: jsonValueSchema.optional() }).optional()
|
|
27
|
+
});
|
|
28
|
+
const acpSessionUpdateParamsSchema = z.looseObject({
|
|
29
|
+
sessionId: z.string().optional(),
|
|
30
|
+
update: z.looseObject({
|
|
31
|
+
sessionUpdate: z.string(),
|
|
32
|
+
content: z.union([contentBlockSchema, z.array(contentBlockSchema)]).optional(),
|
|
33
|
+
messageId: z.string().optional(),
|
|
34
|
+
state: z.string().optional(),
|
|
35
|
+
stopReason: z.string().nullable().optional()
|
|
36
|
+
})
|
|
37
|
+
});
|
|
38
|
+
const providerRefSchema = z.object({
|
|
39
|
+
kind: tolerantStringEnum(ProviderRefKind),
|
|
40
|
+
specifier: nullableString(),
|
|
41
|
+
export: nullableString()
|
|
42
|
+
});
|
|
43
|
+
const okResponseSchema = z.object({ ok: z.boolean().default(true) });
|
|
44
|
+
const healthResponseSchema = z.object({
|
|
45
|
+
ok: z.boolean(),
|
|
46
|
+
status: tolerantStringEnum(AgentHealthStatus),
|
|
47
|
+
version: nullableString()
|
|
48
|
+
});
|
|
49
|
+
const apiErrorDetailSchema = z.object({
|
|
50
|
+
code: z.string().default("unknown"),
|
|
51
|
+
message: z.string().default(""),
|
|
52
|
+
details: jsonValueSchema.nullable().default(null),
|
|
53
|
+
// Session state when a prompt was rejected (`turn_rejected`).
|
|
54
|
+
state: nullableString(),
|
|
55
|
+
sessionId: nullableString(),
|
|
56
|
+
pendingId: nullableString(),
|
|
57
|
+
// Why a credential could not be resolved (`credential_unavailable`).
|
|
58
|
+
reason: nullableString()
|
|
59
|
+
});
|
|
60
|
+
const apiErrorResponseSchema = z.object({
|
|
61
|
+
error: z.union([
|
|
62
|
+
apiErrorDetailSchema,
|
|
63
|
+
z.string().transform(
|
|
64
|
+
(message) => ({
|
|
65
|
+
code: "unknown",
|
|
66
|
+
message,
|
|
67
|
+
details: null,
|
|
68
|
+
state: null,
|
|
69
|
+
sessionId: null,
|
|
70
|
+
pendingId: null,
|
|
71
|
+
reason: null
|
|
72
|
+
})
|
|
73
|
+
)
|
|
74
|
+
])
|
|
75
|
+
});
|
|
76
|
+
const realtimeSessionResponseSchema = z.object({
|
|
77
|
+
url: z.string(),
|
|
78
|
+
userId: z.string().nullable(),
|
|
79
|
+
apiKeyPrincipalId: z.string().optional(),
|
|
80
|
+
token: z.string(),
|
|
81
|
+
expiresAt: z.string()
|
|
82
|
+
});
|
|
83
|
+
const apiKeyRealtimeSessionResponseSchema = realtimeSessionResponseSchema.extend({
|
|
84
|
+
userId: z.null(),
|
|
85
|
+
apiKeyPrincipalId: z.string()
|
|
86
|
+
});
|
|
87
|
+
const acpTicketSchema = z.object({
|
|
88
|
+
ticket: z.string(),
|
|
89
|
+
expiresAt: z.string(),
|
|
90
|
+
/** The ACP WebSocket endpoint (the session service's own origin). */
|
|
91
|
+
url: nullableString()
|
|
92
|
+
});
|
|
93
|
+
const ACP_WS_SUBPROTOCOL = "acp.v1";
|
|
94
|
+
const ACP_TICKET_SUBPROTOCOL_PREFIX = "final-acp-ticket.";
|
|
95
|
+
const acpTicketRequestSchema = z.strictObject({
|
|
96
|
+
/** Binds the ticket's connection to this agent (slug or id); it is also the session/new default. */
|
|
97
|
+
agent: z.string().min(1).max(200).optional()
|
|
98
|
+
});
|
|
99
|
+
const metaInputSchema = jsonObjectSchema.optional();
|
|
100
|
+
const contentBlockInputSchema = z.discriminatedUnion("type", [
|
|
101
|
+
z.strictObject({ type: z.literal("text"), text: z.string(), _meta: metaInputSchema }),
|
|
102
|
+
z.strictObject({
|
|
103
|
+
type: z.literal("image"),
|
|
104
|
+
data: z.string().optional(),
|
|
105
|
+
mimeType: z.string().min(1),
|
|
106
|
+
uri: z.string().optional(),
|
|
107
|
+
_meta: metaInputSchema
|
|
108
|
+
}),
|
|
109
|
+
z.strictObject({
|
|
110
|
+
type: z.literal("audio"),
|
|
111
|
+
data: z.string(),
|
|
112
|
+
mimeType: z.string().min(1),
|
|
113
|
+
_meta: metaInputSchema
|
|
114
|
+
}),
|
|
115
|
+
z.strictObject({
|
|
116
|
+
type: z.literal("resource_link"),
|
|
117
|
+
uri: z.string().min(1),
|
|
118
|
+
name: z.string().min(1),
|
|
119
|
+
title: z.string().optional(),
|
|
120
|
+
description: z.string().optional(),
|
|
121
|
+
mimeType: z.string().optional(),
|
|
122
|
+
size: z.number().int().nonnegative().optional(),
|
|
123
|
+
_meta: metaInputSchema
|
|
124
|
+
}),
|
|
125
|
+
z.strictObject({
|
|
126
|
+
type: z.literal("resource"),
|
|
127
|
+
resource: z.strictObject({
|
|
128
|
+
uri: z.string().min(1),
|
|
129
|
+
mimeType: z.string().optional(),
|
|
130
|
+
text: z.string().optional(),
|
|
131
|
+
blob: z.string().optional()
|
|
132
|
+
}),
|
|
133
|
+
_meta: metaInputSchema
|
|
134
|
+
})
|
|
135
|
+
]);
|
|
136
|
+
const contentInputSchema = z.union([z.string(), z.array(contentBlockInputSchema).min(1)]);
|
|
137
|
+
export {
|
|
138
|
+
ACP_TICKET_SUBPROTOCOL_PREFIX,
|
|
139
|
+
ACP_WS_SUBPROTOCOL,
|
|
140
|
+
acpSessionUpdateParamsSchema,
|
|
141
|
+
acpTicketRequestSchema,
|
|
142
|
+
acpTicketSchema,
|
|
143
|
+
acpWireMessageSchema,
|
|
144
|
+
apiErrorDetailSchema,
|
|
145
|
+
apiErrorResponseSchema,
|
|
146
|
+
apiKeyRealtimeSessionResponseSchema,
|
|
147
|
+
contentBlockInputSchema,
|
|
148
|
+
contentBlockSchema,
|
|
149
|
+
contentInputSchema,
|
|
150
|
+
healthResponseSchema,
|
|
151
|
+
nullableNumber,
|
|
152
|
+
nullableString,
|
|
153
|
+
okResponseSchema,
|
|
154
|
+
providerRefSchema,
|
|
155
|
+
realtimeSessionResponseSchema
|
|
156
|
+
};
|
|
157
|
+
//# sourceMappingURL=common.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/agent-platform/common.ts"],
|
|
4
|
+
"sourcesContent": ["import * as z from 'zod';\n\nimport { jsonObjectSchema, jsonValueSchema } from \"../json.mjs\";\n\nimport { jsonRpcIdSchema } from \"../json-rpc.mjs\";\n\nimport { tolerantStringEnum } from \"../tolerance.mjs\";\n\nimport { AgentHealthStatus, ProviderRefKind } from \"./enums.mjs\";\n\n// Shared shapes for the agent platform API. Ids are wire ids (`encodeId` on the\n// server) and stay plain strings here. Server-to-client objects strip unknown\n// fields except where content is passed through verbatim (ACP frames and\n// content blocks keep every field, including `_meta`).\n\n/** A nullable server field that a newer server may also omit. */\nexport const nullableString = () => z.string().nullable().default(null);\n\nexport const nullableNumber = () => z.number().nullable().default(null);\n\n/** An ACP content block as the server stored it; every field is kept. */\nexport const contentBlockSchema = z.looseObject({\n type: z.string(),\n text: z.string().optional(),\n mimeType: z.string().optional(),\n data: z.string().optional(),\n uri: z.string().nullable().optional(),\n name: z.string().optional(),\n title: z.string().nullable().optional(),\n size: z.number().nullable().optional(),\n resource: jsonValueSchema.optional(),\n _meta: jsonValueSchema.optional(),\n});\n\nexport type ContentBlockIface = z.infer<typeof contentBlockSchema>;\n\n/**\n * One ACP JSON-RPC message (request, response or notification) as logged by\n * the session service; every field is kept.\n */\nexport const acpWireMessageSchema = z.looseObject({\n jsonrpc: z.string().optional(),\n id: jsonRpcIdSchema.optional(),\n method: z.string().optional(),\n params: jsonValueSchema.optional(),\n result: jsonValueSchema.optional(),\n error: z\n .looseObject({ code: z.number(), message: z.string(), data: jsonValueSchema.optional() })\n .optional(),\n});\n\nexport type AcpWireMessageIface = z.infer<typeof acpWireMessageSchema>;\n\n/** `session/update` params, enough to branch on `sessionUpdate` without the full ACP schema. */\nexport const acpSessionUpdateParamsSchema = z.looseObject({\n sessionId: z.string().optional(),\n update: z.looseObject({\n sessionUpdate: z.string(),\n content: z.union([contentBlockSchema, z.array(contentBlockSchema)]).optional(),\n messageId: z.string().optional(),\n state: z.string().optional(),\n stopReason: z.string().nullable().optional(),\n }),\n});\n\nexport type AcpSessionUpdateParamsIface = z.infer<typeof acpSessionUpdateParamsSchema>;\n\nexport const providerRefSchema = z.object({\n kind: tolerantStringEnum(ProviderRefKind),\n specifier: nullableString(),\n export: nullableString(),\n});\n\nexport type ProviderRefIface = z.infer<typeof providerRefSchema>;\n\nexport const okResponseSchema = z.object({ ok: z.boolean().default(true) });\n\nexport const healthResponseSchema = z.object({\n ok: z.boolean(),\n status: tolerantStringEnum(AgentHealthStatus),\n version: nullableString(),\n});\n\nexport type HealthResponseIface = z.infer<typeof healthResponseSchema>;\n\nexport const apiErrorDetailSchema = z.object({\n code: z.string().default('unknown'),\n message: z.string().default(''),\n details: jsonValueSchema.nullable().default(null),\n // Session state when a prompt was rejected (`turn_rejected`).\n state: nullableString(),\n sessionId: nullableString(),\n pendingId: nullableString(),\n // Why a credential could not be resolved (`credential_unavailable`).\n reason: nullableString(),\n});\n\nexport type ApiErrorDetailIface = z.infer<typeof apiErrorDetailSchema>;\n\n/** `{ error }` body of every non-2xx response; a bare string error parses as its message. */\nexport const apiErrorResponseSchema = z.object({\n error: z.union([\n apiErrorDetailSchema,\n z.string().transform(\n (message): ApiErrorDetailIface => ({\n code: 'unknown',\n message,\n details: null,\n state: null,\n sessionId: null,\n pendingId: null,\n reason: null,\n }),\n ),\n ]),\n});\n\nexport type ApiErrorResponseIface = z.infer<typeof apiErrorResponseSchema>;\n\n/** `POST /api/v1/realtime/session`: same shape as console-server's `/api/realtime/session`. */\nexport const realtimeSessionResponseSchema = z.object({\n url: z.string(),\n userId: z.string().nullable(),\n apiKeyPrincipalId: z.string().optional(),\n token: z.string(),\n expiresAt: z.string(),\n});\n\nexport type RealtimeSessionResponseIface = z.infer<typeof realtimeSessionResponseSchema>;\n\n/** The organization/team-key bootstrap variant, introduced with API-key owner topics. */\nexport const apiKeyRealtimeSessionResponseSchema = realtimeSessionResponseSchema.extend({\n userId: z.null(),\n apiKeyPrincipalId: z.string(),\n});\n\n/**\n * `POST /api/v1/acp/tickets`: a single-use credential for opening `/acp/ws`\n * where a WebSocket cannot carry an authorization header (browsers). Offer it\n * as the `final-acp-ticket.<ticket>` subprotocol next to `ACP_WS_SUBPROTOCOL`,\n * or as `?ticket=`, at `url`.\n */\nexport const acpTicketSchema = z.object({\n ticket: z.string(),\n expiresAt: z.string(),\n /** The ACP WebSocket endpoint (the session service's own origin). */\n url: nullableString(),\n});\n\nexport type AcpTicketIface = z.infer<typeof acpTicketSchema>;\n\nexport const ACP_WS_SUBPROTOCOL = 'acp.v1';\n\nexport const ACP_TICKET_SUBPROTOCOL_PREFIX = 'final-acp-ticket.';\n\nexport const acpTicketRequestSchema = z.strictObject({\n /** Binds the ticket's connection to this agent (slug or id); it is also the session/new default. */\n agent: z.string().min(1).max(200).optional(),\n});\n\nexport type AcpTicketRequestIface = z.infer<typeof acpTicketRequestSchema>;\n\n// Client-to-server content: a string, or ACP content blocks.\nconst metaInputSchema = jsonObjectSchema.optional();\n\nexport const contentBlockInputSchema = z.discriminatedUnion('type', [\n z.strictObject({ type: z.literal('text'), text: z.string(), _meta: metaInputSchema }),\n z.strictObject({\n type: z.literal('image'),\n data: z.string().optional(),\n mimeType: z.string().min(1),\n uri: z.string().optional(),\n _meta: metaInputSchema,\n }),\n z.strictObject({\n type: z.literal('audio'),\n data: z.string(),\n mimeType: z.string().min(1),\n _meta: metaInputSchema,\n }),\n z.strictObject({\n type: z.literal('resource_link'),\n uri: z.string().min(1),\n name: z.string().min(1),\n title: z.string().optional(),\n description: z.string().optional(),\n mimeType: z.string().optional(),\n size: z.number().int().nonnegative().optional(),\n _meta: metaInputSchema,\n }),\n z.strictObject({\n type: z.literal('resource'),\n resource: z.strictObject({\n uri: z.string().min(1),\n mimeType: z.string().optional(),\n text: z.string().optional(),\n blob: z.string().optional(),\n }),\n _meta: metaInputSchema,\n }),\n]);\n\nexport type ContentBlockInputIface = z.infer<typeof contentBlockInputSchema>;\n\nexport const contentInputSchema = z.union([z.string(), z.array(contentBlockInputSchema).min(1)]);\n\nexport type ContentInput = z.infer<typeof contentInputSchema>;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
import { ScheduleDelivery, ScheduleSource, ScheduleTriggerType } from "./enums.mjs";
|
|
3
|
+
/** When a schedule fires: `once` sets `at`; `cron` sets `expression` and `timezone`. */
|
|
4
|
+
export declare const scheduleTriggerSchema: z.ZodObject<{
|
|
5
|
+
type: z.ZodUnion<readonly [z.ZodEnum<typeof ScheduleTriggerType>, z.ZodPipe<z.ZodUnknown, z.ZodTransform<import("./index.mjs").WireFallback, unknown>>]>;
|
|
6
|
+
at: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
7
|
+
expression: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
8
|
+
timezone: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
9
|
+
}, z.core.$strip>;
|
|
10
|
+
export type ScheduleTriggerIface = z.infer<typeof scheduleTriggerSchema>;
|
|
11
|
+
export declare const conversationScheduleSchema: z.ZodObject<{
|
|
12
|
+
id: z.ZodString;
|
|
13
|
+
conversationId: z.ZodString;
|
|
14
|
+
agentId: z.ZodString;
|
|
15
|
+
ownerParticipantId: z.ZodString;
|
|
16
|
+
source: z.ZodUnion<readonly [z.ZodEnum<typeof ScheduleSource>, z.ZodPipe<z.ZodUnknown, z.ZodTransform<import("./index.mjs").WireFallback, unknown>>]>;
|
|
17
|
+
name: z.ZodString;
|
|
18
|
+
prompt: z.ZodString;
|
|
19
|
+
trigger: z.ZodObject<{
|
|
20
|
+
type: z.ZodUnion<readonly [z.ZodEnum<typeof ScheduleTriggerType>, z.ZodPipe<z.ZodUnknown, z.ZodTransform<import("./index.mjs").WireFallback, unknown>>]>;
|
|
21
|
+
at: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
22
|
+
expression: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
23
|
+
timezone: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
delivery: z.ZodUnion<readonly [z.ZodEnum<typeof ScheduleDelivery>, z.ZodPipe<z.ZodUnknown, z.ZodTransform<import("./index.mjs").WireFallback, unknown>>]>;
|
|
26
|
+
enabled: z.ZodBoolean;
|
|
27
|
+
nextRunAt: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
28
|
+
lastRunAt: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
29
|
+
createdAt: z.ZodString;
|
|
30
|
+
updatedAt: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
export type ConversationScheduleIface = z.infer<typeof conversationScheduleSchema>;
|
|
33
|
+
export declare const conversationScheduleListSchema: z.ZodObject<{
|
|
34
|
+
schedules: z.ZodArray<z.ZodObject<{
|
|
35
|
+
id: z.ZodString;
|
|
36
|
+
conversationId: z.ZodString;
|
|
37
|
+
agentId: z.ZodString;
|
|
38
|
+
ownerParticipantId: z.ZodString;
|
|
39
|
+
source: z.ZodUnion<readonly [z.ZodEnum<typeof ScheduleSource>, z.ZodPipe<z.ZodUnknown, z.ZodTransform<import("./index.mjs").WireFallback, unknown>>]>;
|
|
40
|
+
name: z.ZodString;
|
|
41
|
+
prompt: z.ZodString;
|
|
42
|
+
trigger: z.ZodObject<{
|
|
43
|
+
type: z.ZodUnion<readonly [z.ZodEnum<typeof ScheduleTriggerType>, z.ZodPipe<z.ZodUnknown, z.ZodTransform<import("./index.mjs").WireFallback, unknown>>]>;
|
|
44
|
+
at: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
45
|
+
expression: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
46
|
+
timezone: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
47
|
+
}, z.core.$strip>;
|
|
48
|
+
delivery: z.ZodUnion<readonly [z.ZodEnum<typeof ScheduleDelivery>, z.ZodPipe<z.ZodUnknown, z.ZodTransform<import("./index.mjs").WireFallback, unknown>>]>;
|
|
49
|
+
enabled: z.ZodBoolean;
|
|
50
|
+
nextRunAt: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
51
|
+
lastRunAt: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
52
|
+
createdAt: z.ZodString;
|
|
53
|
+
updatedAt: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
54
|
+
}, z.core.$strip>>;
|
|
55
|
+
}, z.core.$strip>;
|
|
56
|
+
export type ConversationScheduleListIface = z.infer<typeof conversationScheduleListSchema>;
|
|
57
|
+
/** A trigger as a client sends it. */
|
|
58
|
+
export declare const scheduleTriggerInputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
59
|
+
type: z.ZodLiteral<ScheduleTriggerType.Once>;
|
|
60
|
+
at: z.ZodString;
|
|
61
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
62
|
+
type: z.ZodLiteral<ScheduleTriggerType.Cron>;
|
|
63
|
+
expression: z.ZodString;
|
|
64
|
+
timezone: z.ZodString;
|
|
65
|
+
}, z.core.$strict>], "type">;
|
|
66
|
+
export type ScheduleTriggerInputIface = z.infer<typeof scheduleTriggerInputSchema>;
|
|
67
|
+
export declare const createConversationScheduleRequestSchema: z.ZodObject<{
|
|
68
|
+
name: z.ZodString;
|
|
69
|
+
prompt: z.ZodString;
|
|
70
|
+
trigger: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
71
|
+
type: z.ZodLiteral<ScheduleTriggerType.Once>;
|
|
72
|
+
at: z.ZodString;
|
|
73
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
74
|
+
type: z.ZodLiteral<ScheduleTriggerType.Cron>;
|
|
75
|
+
expression: z.ZodString;
|
|
76
|
+
timezone: z.ZodString;
|
|
77
|
+
}, z.core.$strict>], "type">;
|
|
78
|
+
delivery: z.ZodEnum<typeof ScheduleDelivery>;
|
|
79
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
80
|
+
agentParticipantId: z.ZodOptional<z.ZodString>;
|
|
81
|
+
}, z.core.$strict>;
|
|
82
|
+
export type CreateConversationScheduleRequestIface = z.infer<typeof createConversationScheduleRequestSchema>;
|
|
83
|
+
/** Omitted fields stay unchanged. */
|
|
84
|
+
export declare const updateConversationScheduleRequestSchema: z.ZodObject<{
|
|
85
|
+
name: z.ZodOptional<z.ZodString>;
|
|
86
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
87
|
+
trigger: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
88
|
+
type: z.ZodLiteral<ScheduleTriggerType.Once>;
|
|
89
|
+
at: z.ZodString;
|
|
90
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
91
|
+
type: z.ZodLiteral<ScheduleTriggerType.Cron>;
|
|
92
|
+
expression: z.ZodString;
|
|
93
|
+
timezone: z.ZodString;
|
|
94
|
+
}, z.core.$strict>], "type">>;
|
|
95
|
+
delivery: z.ZodOptional<z.ZodEnum<typeof ScheduleDelivery>>;
|
|
96
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
97
|
+
}, z.core.$strict>;
|
|
98
|
+
export type UpdateConversationScheduleRequestIface = z.infer<typeof updateConversationScheduleRequestSchema>;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
import { tolerantStringEnum } from "../tolerance.mjs";
|
|
3
|
+
import { nullableString } from "./common.mjs";
|
|
4
|
+
import { ScheduleDelivery, ScheduleSource, ScheduleTriggerType } from "./enums.mjs";
|
|
5
|
+
const scheduleTriggerSchema = z.object({
|
|
6
|
+
type: tolerantStringEnum(ScheduleTriggerType),
|
|
7
|
+
at: nullableString(),
|
|
8
|
+
expression: nullableString(),
|
|
9
|
+
timezone: nullableString()
|
|
10
|
+
});
|
|
11
|
+
const conversationScheduleSchema = z.object({
|
|
12
|
+
id: z.string(),
|
|
13
|
+
conversationId: z.string(),
|
|
14
|
+
agentId: z.string(),
|
|
15
|
+
// The agent participant the schedule belongs to.
|
|
16
|
+
ownerParticipantId: z.string(),
|
|
17
|
+
source: tolerantStringEnum(ScheduleSource),
|
|
18
|
+
name: z.string(),
|
|
19
|
+
prompt: z.string(),
|
|
20
|
+
trigger: scheduleTriggerSchema,
|
|
21
|
+
delivery: tolerantStringEnum(ScheduleDelivery),
|
|
22
|
+
// A one-time schedule turns itself off after it fires.
|
|
23
|
+
enabled: z.boolean(),
|
|
24
|
+
nextRunAt: nullableString(),
|
|
25
|
+
lastRunAt: nullableString(),
|
|
26
|
+
createdAt: z.string(),
|
|
27
|
+
updatedAt: nullableString()
|
|
28
|
+
});
|
|
29
|
+
const conversationScheduleListSchema = z.object({
|
|
30
|
+
schedules: z.array(conversationScheduleSchema)
|
|
31
|
+
});
|
|
32
|
+
const scheduleTriggerInputSchema = z.discriminatedUnion("type", [
|
|
33
|
+
z.strictObject({
|
|
34
|
+
type: z.literal(ScheduleTriggerType.Once),
|
|
35
|
+
// A future timestamp with `Z` or a UTC offset.
|
|
36
|
+
at: z.string().datetime({ offset: true })
|
|
37
|
+
}),
|
|
38
|
+
z.strictObject({
|
|
39
|
+
type: z.literal(ScheduleTriggerType.Cron),
|
|
40
|
+
expression: z.string().trim().min(1).max(120),
|
|
41
|
+
// An IANA timezone.
|
|
42
|
+
timezone: z.string().trim().min(1).max(120)
|
|
43
|
+
})
|
|
44
|
+
]);
|
|
45
|
+
const createConversationScheduleRequestSchema = z.strictObject({
|
|
46
|
+
name: z.string().trim().min(1).max(200),
|
|
47
|
+
prompt: z.string().trim().min(1).max(2e5),
|
|
48
|
+
trigger: scheduleTriggerInputSchema,
|
|
49
|
+
delivery: z.enum(ScheduleDelivery),
|
|
50
|
+
enabled: z.boolean().optional(),
|
|
51
|
+
// The agent participant the schedule belongs to. An agent creating its own
|
|
52
|
+
// schedule omits it; a person may omit it when the conversation has one agent.
|
|
53
|
+
agentParticipantId: z.string().min(1).optional()
|
|
54
|
+
});
|
|
55
|
+
const updateConversationScheduleRequestSchema = z.strictObject({
|
|
56
|
+
name: z.string().trim().min(1).max(200).optional(),
|
|
57
|
+
prompt: z.string().trim().min(1).max(2e5).optional(),
|
|
58
|
+
trigger: scheduleTriggerInputSchema.optional(),
|
|
59
|
+
delivery: z.enum(ScheduleDelivery).optional(),
|
|
60
|
+
enabled: z.boolean().optional()
|
|
61
|
+
});
|
|
62
|
+
export {
|
|
63
|
+
conversationScheduleListSchema,
|
|
64
|
+
conversationScheduleSchema,
|
|
65
|
+
createConversationScheduleRequestSchema,
|
|
66
|
+
scheduleTriggerInputSchema,
|
|
67
|
+
scheduleTriggerSchema,
|
|
68
|
+
updateConversationScheduleRequestSchema
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=conversation-schedules.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/agent-platform/conversation-schedules.ts"],
|
|
4
|
+
"sourcesContent": ["import * as z from 'zod';\n\nimport { tolerantStringEnum } from \"../tolerance.mjs\";\n\nimport { nullableString } from \"./common.mjs\";\n\nimport { ScheduleDelivery, ScheduleSource, ScheduleTriggerType } from \"./enums.mjs\";\n\n// Runtime schedules of a conversation (`/api/v1/conversations/:id/schedules`):\n// one-time reminders and recurring checks an agent, a person or a third-party\n// agent creates in the conversation. Each belongs to one agent participant,\n// whose session the firing prompts there.\n\n/** When a schedule fires: `once` sets `at`; `cron` sets `expression` and `timezone`. */\nexport const scheduleTriggerSchema = z.object({\n type: tolerantStringEnum(ScheduleTriggerType),\n at: nullableString(),\n expression: nullableString(),\n timezone: nullableString(),\n});\n\nexport type ScheduleTriggerIface = z.infer<typeof scheduleTriggerSchema>;\n\nexport const conversationScheduleSchema = z.object({\n id: z.string(),\n conversationId: z.string(),\n agentId: z.string(),\n // The agent participant the schedule belongs to.\n ownerParticipantId: z.string(),\n source: tolerantStringEnum(ScheduleSource),\n name: z.string(),\n prompt: z.string(),\n trigger: scheduleTriggerSchema,\n delivery: tolerantStringEnum(ScheduleDelivery),\n // A one-time schedule turns itself off after it fires.\n enabled: z.boolean(),\n nextRunAt: nullableString(),\n lastRunAt: nullableString(),\n createdAt: z.string(),\n updatedAt: nullableString(),\n});\n\nexport type ConversationScheduleIface = z.infer<typeof conversationScheduleSchema>;\n\nexport const conversationScheduleListSchema = z.object({\n schedules: z.array(conversationScheduleSchema),\n});\n\nexport type ConversationScheduleListIface = z.infer<typeof conversationScheduleListSchema>;\n\n/** A trigger as a client sends it. */\nexport const scheduleTriggerInputSchema = z.discriminatedUnion('type', [\n z.strictObject({\n type: z.literal(ScheduleTriggerType.Once),\n // A future timestamp with `Z` or a UTC offset.\n at: z.string().datetime({ offset: true }),\n }),\n z.strictObject({\n type: z.literal(ScheduleTriggerType.Cron),\n expression: z.string().trim().min(1).max(120),\n // An IANA timezone.\n timezone: z.string().trim().min(1).max(120),\n }),\n]);\n\nexport type ScheduleTriggerInputIface = z.infer<typeof scheduleTriggerInputSchema>;\n\nexport const createConversationScheduleRequestSchema = z.strictObject({\n name: z.string().trim().min(1).max(200),\n prompt: z.string().trim().min(1).max(200_000),\n trigger: scheduleTriggerInputSchema,\n delivery: z.enum(ScheduleDelivery),\n enabled: z.boolean().optional(),\n // The agent participant the schedule belongs to. An agent creating its own\n // schedule omits it; a person may omit it when the conversation has one agent.\n agentParticipantId: z.string().min(1).optional(),\n});\n\nexport type CreateConversationScheduleRequestIface = z.infer<\n typeof createConversationScheduleRequestSchema\n>;\n\n/** Omitted fields stay unchanged. */\nexport const updateConversationScheduleRequestSchema = z.strictObject({\n name: z.string().trim().min(1).max(200).optional(),\n prompt: z.string().trim().min(1).max(200_000).optional(),\n trigger: scheduleTriggerInputSchema.optional(),\n delivery: z.enum(ScheduleDelivery).optional(),\n enabled: z.boolean().optional(),\n});\n\nexport type UpdateConversationScheduleRequestIface = z.infer<\n typeof updateConversationScheduleRequestSchema\n>;\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,OAAO;AAEnB,SAAS,0BAA0B;AAEnC,SAAS,sBAAsB;AAE/B,SAAS,kBAAkB,gBAAgB,2BAA2B;AAQ/D,MAAM,wBAAwB,EAAE,OAAO;AAAA,EAC5C,MAAM,mBAAmB,mBAAmB;AAAA,EAC5C,IAAI,eAAe;AAAA,EACnB,YAAY,eAAe;AAAA,EAC3B,UAAU,eAAe;AAC3B,CAAC;AAIM,MAAM,6BAA6B,EAAE,OAAO;AAAA,EACjD,IAAI,EAAE,OAAO;AAAA,EACb,gBAAgB,EAAE,OAAO;AAAA,EACzB,SAAS,EAAE,OAAO;AAAA;AAAA,EAElB,oBAAoB,EAAE,OAAO;AAAA,EAC7B,QAAQ,mBAAmB,cAAc;AAAA,EACzC,MAAM,EAAE,OAAO;AAAA,EACf,QAAQ,EAAE,OAAO;AAAA,EACjB,SAAS;AAAA,EACT,UAAU,mBAAmB,gBAAgB;AAAA;AAAA,EAE7C,SAAS,EAAE,QAAQ;AAAA,EACnB,WAAW,eAAe;AAAA,EAC1B,WAAW,eAAe;AAAA,EAC1B,WAAW,EAAE,OAAO;AAAA,EACpB,WAAW,eAAe;AAC5B,CAAC;AAIM,MAAM,iCAAiC,EAAE,OAAO;AAAA,EACrD,WAAW,EAAE,MAAM,0BAA0B;AAC/C,CAAC;AAKM,MAAM,6BAA6B,EAAE,mBAAmB,QAAQ;AAAA,EACrE,EAAE,aAAa;AAAA,IACb,MAAM,EAAE,QAAQ,oBAAoB,IAAI;AAAA;AAAA,IAExC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,KAAK,CAAC;AAAA,EAC1C,CAAC;AAAA,EACD,EAAE,aAAa;AAAA,IACb,MAAM,EAAE,QAAQ,oBAAoB,IAAI;AAAA,IACxC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA;AAAA,IAE5C,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EAC5C,CAAC;AACH,CAAC;AAIM,MAAM,0CAA0C,EAAE,aAAa;AAAA,EACpE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACtC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAO;AAAA,EAC5C,SAAS;AAAA,EACT,UAAU,EAAE,KAAK,gBAAgB;AAAA,EACjC,SAAS,EAAE,QAAQ,EAAE,SAAS;AAAA;AAAA;AAAA,EAG9B,oBAAoB,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AACjD,CAAC;AAOM,MAAM,0CAA0C,EAAE,aAAa;AAAA,EACpE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA,EACjD,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAO,EAAE,SAAS;AAAA,EACvD,SAAS,2BAA2B,SAAS;AAAA,EAC7C,UAAU,EAAE,KAAK,gBAAgB,EAAE,SAAS;AAAA,EAC5C,SAAS,EAAE,QAAQ,EAAE,SAAS;AAChC,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|