robotrock 1.0.0 → 1.3.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.
- package/dist/agent-admin.d.ts +82 -0
- package/dist/agent-admin.js +938 -0
- package/dist/agent-admin.js.map +1 -0
- package/dist/ai/index.d.ts +6 -5
- package/dist/ai/index.js +682 -225
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/trigger.d.ts +4 -3
- package/dist/ai/trigger.js +682 -225
- package/dist/ai/trigger.js.map +1 -1
- package/dist/ai/workflow.d.ts +4 -3
- package/dist/ai/workflow.js +679 -222
- package/dist/ai/workflow.js.map +1 -1
- package/dist/auth-headers-qL-ZeEtd.d.ts +13 -0
- package/dist/{client-CzVmjXpz.d.ts → client-YO9Y1rkH.d.ts} +51 -10
- package/dist/eve/agent/index.d.ts +164 -0
- package/dist/eve/agent/index.js +2854 -0
- package/dist/eve/agent/index.js.map +1 -0
- package/dist/eve/index.d.ts +8 -0
- package/dist/eve/index.js +639 -0
- package/dist/eve/index.js.map +1 -0
- package/dist/eve/tools/admin/assign-tasks.d.ts +39 -0
- package/dist/eve/tools/admin/assign-tasks.js +1060 -0
- package/dist/eve/tools/admin/assign-tasks.js.map +1 -0
- package/dist/eve/tools/admin/manage-groups.d.ts +53 -0
- package/dist/eve/tools/admin/manage-groups.js +1218 -0
- package/dist/eve/tools/admin/manage-groups.js.map +1 -0
- package/dist/eve/tools/admin/manage-team-members.d.ts +45 -0
- package/dist/eve/tools/admin/manage-team-members.js +1160 -0
- package/dist/eve/tools/admin/manage-team-members.js.map +1 -0
- package/dist/eve/tools/admin/query-tasks.d.ts +71 -0
- package/dist/eve/tools/admin/query-tasks.js +1161 -0
- package/dist/eve/tools/admin/query-tasks.js.map +1 -0
- package/dist/eve/tools/catalog/search-products.d.ts +57 -0
- package/dist/eve/tools/catalog/search-products.js +94 -0
- package/dist/eve/tools/catalog/search-products.js.map +1 -0
- package/dist/eve/tools/identity/index.d.ts +8 -0
- package/dist/eve/tools/identity/index.js +234 -0
- package/dist/eve/tools/identity/index.js.map +1 -0
- package/dist/eve/tools/identity/my-access.d.ts +18 -0
- package/dist/eve/tools/identity/my-access.js +187 -0
- package/dist/eve/tools/identity/my-access.js.map +1 -0
- package/dist/eve/tools/identity/whoami.d.ts +44 -0
- package/dist/eve/tools/identity/whoami.js +117 -0
- package/dist/eve/tools/identity/whoami.js.map +1 -0
- package/dist/eve/tools/inbox/create-task.d.ts +114 -0
- package/dist/eve/tools/inbox/create-task.js +1785 -0
- package/dist/eve/tools/inbox/create-task.js.map +1 -0
- package/dist/eve/tools/inbox/index.d.ts +6 -0
- package/dist/eve/tools/inbox/index.js +1785 -0
- package/dist/eve/tools/inbox/index.js.map +1 -0
- package/dist/eve/tools/index.d.ts +24 -0
- package/dist/eve/tools/index.js +2848 -0
- package/dist/eve/tools/index.js.map +1 -0
- package/dist/index-DoQN48Bm.d.ts +200 -0
- package/dist/index.d.ts +8 -44
- package/dist/index.js +842 -137
- package/dist/index.js.map +1 -1
- package/dist/schemas/index.d.ts +6 -1
- package/dist/schemas/index.js +251 -59
- package/dist/schemas/index.js.map +1 -1
- package/dist/tenant-5YKDrdC-.d.ts +23 -0
- package/dist/{tool-approval-bridge-DbwUEBHv.d.ts → tool-approval-bridge-aMA79Z1B.d.ts} +1 -1
- package/dist/tool-reply-guidance-C3qrT1In.d.ts +25 -0
- package/dist/trigger/index.d.ts +2 -1
- package/dist/trigger/index.js +543 -127
- package/dist/trigger/index.js.map +1 -1
- package/dist/{trigger-BCKBbAV7.d.ts → trigger-CXrbKVCL.d.ts} +2 -2
- package/dist/workflow/index.d.ts +2 -1
- package/dist/workflow/index.js +543 -127
- package/dist/workflow/index.js.map +1 -1
- package/package.json +69 -8
package/dist/schemas/index.d.ts
CHANGED
|
@@ -205,7 +205,12 @@ declare const taskContextSchema: z.ZodPipe<z.ZodObject<{
|
|
|
205
205
|
/**
|
|
206
206
|
* Assignment targets at task create (not stored in task context JSON).
|
|
207
207
|
* Unknown user emails are auto-provisioned as assignee memberships (count toward seat limits).
|
|
208
|
+
*
|
|
209
|
+
* Virtual group slugs (membership derived from tenantUsers, not groupMembers):
|
|
210
|
+
* - `all` — all workspace members (omit assignTo defaults to this)
|
|
211
|
+
* - `admins` — workspace users with tenant admin role
|
|
208
212
|
*/
|
|
213
|
+
declare const VIRTUAL_ASSIGN_TO_GROUP_SLUGS: readonly ["all", "admins"];
|
|
209
214
|
declare const assignToSchema: z.ZodObject<{
|
|
210
215
|
users: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
211
216
|
groups: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -544,4 +549,4 @@ type DiscriminatedApprovalResult<TActions extends readonly {
|
|
|
544
549
|
} : never;
|
|
545
550
|
}[TupleElementIndices<TActions>];
|
|
546
551
|
|
|
547
|
-
export { type AgentTelemetry, type AgentTelemetryInput, type ApprovalResult, type AssignToInput, type CreateTaskBody, type CreateTaskBodyInput, DEFAULT_TASK_PRIORITY, DEFAULT_THREAD_UPDATE_STATUS, type DiscriminatedApprovalResult, type ExtendedJSONSchema7, type Handler, type InferActionData, type InferJsonSchema7, type JSONSchema7, type JSONSchema7TypeName, LOWEST_TASK_PRIORITY, TASK_CONTEXT_FORMAT_VERSION, TASK_PRIORITY_RANK, type Task, type TaskAction, type TaskActionInput, type TaskContext, type TaskContextFormatVersion, type TaskContextInput, type TaskContextOutput, type TaskPriority, type TaskResponse, type TaskResult, type TaskStatus, type ThreadUpdate, type ThreadUpdateBody, type ThreadUpdateBodyInput, type ThreadUpdateInput, type ThreadUpdateResponse, type ThreadUpdateSource, type ThreadUpdateStatus, type TriggerHandler, type TupleElementIndices, type UiSchema, type WebhookHandler, agentTelemetrySchema, assignToSchema, createTaskBodySchema, taskActionInputSchema, taskContextSchema, taskPriorities, taskPrioritySchema, threadUpdateBodySchema, threadUpdateInputSchema, threadUpdateMessageSchema, threadUpdateStatusSchema, threadUpdateStatuses };
|
|
552
|
+
export { type AgentTelemetry, type AgentTelemetryInput, type ApprovalResult, type AssignToInput, type CreateTaskBody, type CreateTaskBodyInput, DEFAULT_TASK_PRIORITY, DEFAULT_THREAD_UPDATE_STATUS, type DiscriminatedApprovalResult, type ExtendedJSONSchema7, type Handler, type InferActionData, type InferJsonSchema7, type JSONSchema7, type JSONSchema7TypeName, LOWEST_TASK_PRIORITY, TASK_CONTEXT_FORMAT_VERSION, TASK_PRIORITY_RANK, type Task, type TaskAction, type TaskActionInput, type TaskContext, type TaskContextFormatVersion, type TaskContextInput, type TaskContextOutput, type TaskPriority, type TaskResponse, type TaskResult, type TaskStatus, type ThreadUpdate, type ThreadUpdateBody, type ThreadUpdateBodyInput, type ThreadUpdateInput, type ThreadUpdateResponse, type ThreadUpdateSource, type ThreadUpdateStatus, type TriggerHandler, type TupleElementIndices, type UiSchema, VIRTUAL_ASSIGN_TO_GROUP_SLUGS, type WebhookHandler, agentTelemetrySchema, assignToSchema, createTaskBodySchema, taskActionInputSchema, taskContextSchema, taskPriorities, taskPrioritySchema, threadUpdateBodySchema, threadUpdateInputSchema, threadUpdateMessageSchema, threadUpdateStatusSchema, threadUpdateStatuses };
|
package/dist/schemas/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/schemas/index.ts
|
|
2
|
-
import { z as
|
|
2
|
+
import { z as z4 } from "zod";
|
|
3
3
|
|
|
4
4
|
// ../core/src/utils/safe-url.ts
|
|
5
5
|
var BLOCKED_HOSTNAMES = /* @__PURE__ */ new Set([
|
|
@@ -108,6 +108,25 @@ function isBlockedHostname(hostname) {
|
|
|
108
108
|
}
|
|
109
109
|
return isBlockedIpv4(host) || isBlockedIpv6(host);
|
|
110
110
|
}
|
|
111
|
+
function isLoopbackHandlerUrl(urlString) {
|
|
112
|
+
let url;
|
|
113
|
+
try {
|
|
114
|
+
url = new URL(urlString);
|
|
115
|
+
} catch {
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
if (url.protocol !== "http:" && url.protocol !== "https:") {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
if (url.username || url.password) {
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
const host = url.hostname.toLowerCase();
|
|
125
|
+
return host === "localhost" || host === "127.0.0.1" || host === "::1" || host === "[::1]" || host.endsWith(".localhost");
|
|
126
|
+
}
|
|
127
|
+
function isAllowedHandlerUrl(urlString) {
|
|
128
|
+
return isPublicHttpUrl(urlString) || isLoopbackHandlerUrl(urlString);
|
|
129
|
+
}
|
|
111
130
|
function isPublicHttpUrl(urlString) {
|
|
112
131
|
let url;
|
|
113
132
|
try {
|
|
@@ -124,6 +143,7 @@ function isPublicHttpUrl(urlString) {
|
|
|
124
143
|
return !isBlockedHostname(url.hostname);
|
|
125
144
|
}
|
|
126
145
|
var PUBLIC_HTTP_URL_ERROR = "URL must be a public http:// or https:// address";
|
|
146
|
+
var HANDLER_URL_ERROR = "Handler URL must be a public or loopback http:// or https:// address";
|
|
127
147
|
|
|
128
148
|
// ../core/src/schemas/task.ts
|
|
129
149
|
import { z } from "zod";
|
|
@@ -185,6 +205,9 @@ function validateContextPublicUrls(context) {
|
|
|
185
205
|
var safeUrlSchema = z.string().refine((url) => isPublicHttpUrl(url), {
|
|
186
206
|
message: PUBLIC_HTTP_URL_ERROR
|
|
187
207
|
});
|
|
208
|
+
var handlerUrlSchema = z.string().refine((url) => isAllowedHandlerUrl(url), {
|
|
209
|
+
message: HANDLER_URL_ERROR
|
|
210
|
+
});
|
|
188
211
|
var jsonSchema7Schema = z.custom(
|
|
189
212
|
(val) => typeof val === "object" && val !== null,
|
|
190
213
|
{ message: "Must be a valid JSON Schema object" }
|
|
@@ -194,7 +217,7 @@ var uiSchemaSchema = z.custom((val) => typeof val === "object" && val !== null,
|
|
|
194
217
|
});
|
|
195
218
|
var webhookHandlerSchema = z.object({
|
|
196
219
|
type: z.literal("webhook"),
|
|
197
|
-
url:
|
|
220
|
+
url: handlerUrlSchema,
|
|
198
221
|
headers: z.record(z.string(), z.string())
|
|
199
222
|
});
|
|
200
223
|
var triggerHandlerSchema = webhookHandlerSchema.extend({
|
|
@@ -345,86 +368,253 @@ var agentChatSeedMessageSchema = z.object({
|
|
|
345
368
|
action: agentChatSeedActionSchema
|
|
346
369
|
}).optional()
|
|
347
370
|
});
|
|
371
|
+
var eveAgentChatTransportSchema = z.object({
|
|
372
|
+
kind: z.literal("eve"),
|
|
373
|
+
chatId: z.string().min(1),
|
|
374
|
+
baseUrl: z.string().url(),
|
|
375
|
+
sessionId: z.string().optional(),
|
|
376
|
+
continuationToken: z.string().optional(),
|
|
377
|
+
streamIndex: z.number().int().nonnegative().optional(),
|
|
378
|
+
isStreaming: z.boolean().optional()
|
|
379
|
+
});
|
|
348
380
|
var createAgentChatBodySchema = z.object({
|
|
349
|
-
/**
|
|
381
|
+
/** Agent id (eve agent name). Required unless `parentChatId` is set. */
|
|
350
382
|
agentIdentifier: z.string().min(1).optional(),
|
|
351
383
|
/** Inherit tenant/connection/agent from an existing chat (agent-spawned chats). */
|
|
352
384
|
parentChatId: z.string().min(1).optional(),
|
|
353
|
-
/** Convex
|
|
354
|
-
|
|
385
|
+
/** Convex tenantEveConnections id; resolved from the tenant when omitted. */
|
|
386
|
+
eveConnectionId: z.string().min(1).optional(),
|
|
355
387
|
/** Source application id; groups the chat under an inbox section. */
|
|
356
388
|
app: z.string().min(1).optional(),
|
|
357
|
-
|
|
389
|
+
/** Email of the user who owns the chat. Required unless `parentChatId` is set. */
|
|
390
|
+
ownerEmail: z.string().email().optional(),
|
|
358
391
|
title: z.string().min(1),
|
|
359
392
|
messages: z.array(agentChatSeedMessageSchema).default([]),
|
|
360
393
|
/** Provenance label stored on the session ("cron" | "agent" | ...). */
|
|
361
394
|
source: z.string().min(1).optional()
|
|
362
395
|
}).refine((data) => Boolean(data.agentIdentifier || data.parentChatId), {
|
|
363
396
|
message: "Provide either agentIdentifier or parentChatId"
|
|
397
|
+
}).refine((data) => Boolean(data.ownerEmail || data.parentChatId), {
|
|
398
|
+
message: "Provide ownerEmail unless parentChatId is set"
|
|
364
399
|
});
|
|
365
|
-
var
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
400
|
+
var agentChatAuditToolBodySchema = z.object({
|
|
401
|
+
eveSessionId: z.string().min(1),
|
|
402
|
+
userId: z.string().min(1),
|
|
403
|
+
toolCallId: z.string().min(1),
|
|
404
|
+
toolName: z.string().min(1),
|
|
405
|
+
input: z.record(z.string(), z.unknown()).default({}),
|
|
406
|
+
success: z.boolean(),
|
|
407
|
+
status: z.enum(["completed", "failed", "rejected"]),
|
|
408
|
+
error: z.string().optional(),
|
|
409
|
+
idempotencyKey: z.string().optional()
|
|
410
|
+
});
|
|
411
|
+
var agentChatAuditInputBodySchema = z.object({
|
|
412
|
+
eveSessionId: z.string().min(1),
|
|
413
|
+
userId: z.string().min(1),
|
|
414
|
+
actionId: z.string().min(1),
|
|
415
|
+
actionTitle: z.string().optional(),
|
|
416
|
+
prompt: z.string().optional(),
|
|
417
|
+
data: z.record(z.string(), z.unknown()).optional(),
|
|
418
|
+
idempotencyKey: z.string().optional(),
|
|
419
|
+
/** Eve input request id — used to merge staged HITL metadata. */
|
|
420
|
+
requestId: z.string().optional(),
|
|
421
|
+
/** Eve tool call id — fallback lookup for staged HITL metadata. */
|
|
422
|
+
toolCallId: z.string().optional()
|
|
423
|
+
});
|
|
424
|
+
var eveHitlStagedOptionSchema = z.object({
|
|
425
|
+
id: z.string(),
|
|
426
|
+
label: z.string()
|
|
427
|
+
});
|
|
428
|
+
var agentChatStageHitlBodySchema = z.object({
|
|
429
|
+
eveSessionId: z.string().min(1),
|
|
430
|
+
requests: z.array(
|
|
431
|
+
z.object({
|
|
432
|
+
requestId: z.string().min(1),
|
|
433
|
+
toolCallId: z.string().min(1),
|
|
434
|
+
toolName: z.string().min(1),
|
|
435
|
+
prompt: z.string().min(1),
|
|
436
|
+
display: z.enum(["confirmation", "select", "text"]).optional(),
|
|
437
|
+
allowFreeform: z.boolean().optional(),
|
|
438
|
+
options: z.array(eveHitlStagedOptionSchema).optional(),
|
|
439
|
+
toolInput: z.record(z.string(), z.unknown()).optional()
|
|
440
|
+
})
|
|
441
|
+
)
|
|
442
|
+
});
|
|
443
|
+
var agentChatLinkTaskBodySchema = z.object({
|
|
444
|
+
eveSessionId: z.string().min(1),
|
|
445
|
+
publicTaskId: z.string().min(1),
|
|
446
|
+
toolCallId: z.string().min(1)
|
|
447
|
+
});
|
|
448
|
+
|
|
449
|
+
// ../core/src/schemas/tool-result-display.ts
|
|
450
|
+
import { z as z2 } from "zod";
|
|
451
|
+
var toolDisplayMetadataSchema = z2.object({
|
|
452
|
+
widget: z2.string().optional(),
|
|
453
|
+
title: z2.string().optional(),
|
|
454
|
+
description: z2.string().optional()
|
|
455
|
+
});
|
|
456
|
+
var toolDisplayEnvelopeSchema = z2.object({
|
|
457
|
+
display: toolDisplayMetadataSchema.optional(),
|
|
458
|
+
data: z2.record(z2.string(), z2.unknown()),
|
|
459
|
+
ui: z2.record(
|
|
460
|
+
z2.string(),
|
|
461
|
+
z2.object({
|
|
462
|
+
"ui:widget": z2.string().optional(),
|
|
463
|
+
"ui:title": z2.string().optional(),
|
|
464
|
+
"ui:description": z2.string().optional(),
|
|
465
|
+
"ui:options": z2.record(z2.string(), z2.unknown()).optional()
|
|
466
|
+
}).passthrough()
|
|
467
|
+
).optional()
|
|
468
|
+
});
|
|
469
|
+
|
|
470
|
+
// ../core/src/schemas/agent-admin.ts
|
|
471
|
+
import { z as z3 } from "zod";
|
|
472
|
+
var tenantRoleSchema = z3.enum(["admin", "member"]);
|
|
473
|
+
var agentAdminUserSchema = z3.object({
|
|
474
|
+
id: z3.string(),
|
|
475
|
+
email: z3.string().email(),
|
|
476
|
+
name: z3.string()
|
|
477
|
+
});
|
|
478
|
+
var agentAdminMemberSchema = z3.object({
|
|
479
|
+
userId: z3.string(),
|
|
480
|
+
role: z3.string(),
|
|
481
|
+
membershipKind: z3.enum(["team", "assignee"]),
|
|
482
|
+
hasLoggedIn: z3.boolean(),
|
|
483
|
+
user: agentAdminUserSchema
|
|
484
|
+
});
|
|
485
|
+
var agentAdminGroupSchema = z3.object({
|
|
486
|
+
id: z3.string(),
|
|
487
|
+
name: z3.string(),
|
|
488
|
+
slug: z3.string(),
|
|
489
|
+
description: z3.string().nullable(),
|
|
490
|
+
memberCount: z3.number().optional()
|
|
491
|
+
});
|
|
492
|
+
var agentAdminGroupDetailSchema = agentAdminGroupSchema.extend({
|
|
493
|
+
members: z3.array(
|
|
494
|
+
z3.object({
|
|
495
|
+
userId: z3.string(),
|
|
496
|
+
user: agentAdminUserSchema
|
|
497
|
+
})
|
|
498
|
+
)
|
|
499
|
+
});
|
|
500
|
+
var agentAdminTaskSummarySchema = z3.object({
|
|
501
|
+
id: z3.string(),
|
|
502
|
+
convexId: z3.string(),
|
|
503
|
+
status: z3.string(),
|
|
504
|
+
type: z3.string().nullable(),
|
|
505
|
+
name: z3.string().nullable(),
|
|
506
|
+
description: z3.string().nullable(),
|
|
507
|
+
validUntil: z3.number(),
|
|
508
|
+
createdAt: z3.number(),
|
|
509
|
+
threadPriority: z3.string().nullable(),
|
|
510
|
+
handledByUserId: z3.string().nullable()
|
|
511
|
+
});
|
|
512
|
+
var inviteMemberBodySchema = z3.object({
|
|
513
|
+
email: z3.string().email(),
|
|
514
|
+
role: tenantRoleSchema.optional()
|
|
515
|
+
});
|
|
516
|
+
var updateMemberRoleBodySchema = z3.object({
|
|
517
|
+
role: tenantRoleSchema
|
|
518
|
+
});
|
|
519
|
+
var createGroupBodySchema = z3.object({
|
|
520
|
+
name: z3.string().min(1),
|
|
521
|
+
description: z3.string().optional()
|
|
522
|
+
});
|
|
523
|
+
var updateGroupBodySchema = z3.object({
|
|
524
|
+
name: z3.string().min(1).optional(),
|
|
525
|
+
description: z3.string().optional()
|
|
526
|
+
});
|
|
527
|
+
var addGroupMemberBodySchema = z3.object({
|
|
528
|
+
userId: z3.string().min(1).describe("Convex user id or member email.")
|
|
529
|
+
});
|
|
530
|
+
var listTasksQuerySchema = z3.object({
|
|
531
|
+
statusFilter: z3.enum(["all", "open", "handled", "expired"]).optional(),
|
|
532
|
+
typeFilter: z3.string().optional(),
|
|
533
|
+
appFilter: z3.string().optional(),
|
|
534
|
+
sortField: z3.enum(["type", "date", "status", "validUntil"]).optional(),
|
|
535
|
+
sortDirection: z3.enum(["asc", "desc"]).optional(),
|
|
536
|
+
limit: z3.coerce.number().int().positive().max(100).optional(),
|
|
537
|
+
cursor: z3.string().optional()
|
|
538
|
+
});
|
|
539
|
+
var searchTasksQuerySchema = z3.object({
|
|
540
|
+
q: z3.string().min(1),
|
|
541
|
+
limit: z3.coerce.number().int().positive().max(100).optional()
|
|
542
|
+
});
|
|
543
|
+
var assignTasksResultSchema = z3.object({
|
|
544
|
+
taskId: z3.string(),
|
|
545
|
+
success: z3.boolean(),
|
|
546
|
+
message: z3.string().optional(),
|
|
547
|
+
name: z3.string().nullable().optional(),
|
|
548
|
+
description: z3.string().nullable().optional(),
|
|
549
|
+
type: z3.string().nullable().optional()
|
|
550
|
+
});
|
|
551
|
+
var assignTasksResponseSchema = z3.object({
|
|
552
|
+
results: z3.array(assignTasksResultSchema)
|
|
553
|
+
});
|
|
554
|
+
var assignTasksBodySchema = z3.object({
|
|
555
|
+
taskIds: z3.array(z3.string().min(1)).min(1).max(100),
|
|
556
|
+
assignTo: assignToSchema.refine(
|
|
557
|
+
(value) => (value.users?.length ?? 0) > 0 || (value.groups?.length ?? 0) > 0,
|
|
558
|
+
{ message: "assignTo needs at least one user email or group slug." }
|
|
559
|
+
)
|
|
370
560
|
});
|
|
371
561
|
|
|
372
562
|
// src/schemas/index.ts
|
|
373
|
-
var
|
|
374
|
-
message:
|
|
563
|
+
var handlerUrlSchema2 = z4.string().refine((url) => isAllowedHandlerUrl(url), {
|
|
564
|
+
message: HANDLER_URL_ERROR
|
|
375
565
|
});
|
|
376
|
-
var jsonSchema7Schema2 =
|
|
566
|
+
var jsonSchema7Schema2 = z4.custom(
|
|
377
567
|
(val) => typeof val === "object" && val !== null,
|
|
378
568
|
{ message: "Must be a valid JSON Schema object" }
|
|
379
569
|
);
|
|
380
|
-
var uiSchemaSchema2 =
|
|
570
|
+
var uiSchemaSchema2 = z4.custom((val) => typeof val === "object" && val !== null, {
|
|
381
571
|
message: "Must be a valid UiSchema object"
|
|
382
572
|
});
|
|
383
|
-
var webhookHandlerSchema2 =
|
|
384
|
-
type:
|
|
385
|
-
url:
|
|
386
|
-
headers:
|
|
573
|
+
var webhookHandlerSchema2 = z4.object({
|
|
574
|
+
type: z4.literal("webhook"),
|
|
575
|
+
url: handlerUrlSchema2,
|
|
576
|
+
headers: z4.record(z4.string(), z4.string())
|
|
387
577
|
});
|
|
388
578
|
var triggerHandlerSchema2 = webhookHandlerSchema2.extend({
|
|
389
|
-
type:
|
|
390
|
-
tokenId:
|
|
391
|
-
});
|
|
392
|
-
var handlerSchema2 =
|
|
393
|
-
var taskActionInputSchema2 =
|
|
394
|
-
id:
|
|
395
|
-
title:
|
|
396
|
-
description:
|
|
579
|
+
type: z4.literal("trigger"),
|
|
580
|
+
tokenId: z4.string().min(1)
|
|
581
|
+
});
|
|
582
|
+
var handlerSchema2 = z4.discriminatedUnion("type", [webhookHandlerSchema2, triggerHandlerSchema2]);
|
|
583
|
+
var taskActionInputSchema2 = z4.object({
|
|
584
|
+
id: z4.string().min(1),
|
|
585
|
+
title: z4.string().min(1),
|
|
586
|
+
description: z4.string().optional(),
|
|
397
587
|
schema: jsonSchema7Schema2.optional(),
|
|
398
588
|
ui: uiSchemaSchema2.optional(),
|
|
399
|
-
data:
|
|
589
|
+
data: z4.record(z4.string(), z4.unknown()).optional()
|
|
400
590
|
});
|
|
401
591
|
var taskActionSchema2 = taskActionInputSchema2.extend({
|
|
402
|
-
handlers:
|
|
403
|
-
});
|
|
404
|
-
var uiFieldSchemaSchema2 =
|
|
405
|
-
"ui:widget":
|
|
406
|
-
"ui:title":
|
|
407
|
-
"ui:description":
|
|
408
|
-
"ui:options":
|
|
409
|
-
items:
|
|
592
|
+
handlers: z4.array(handlerSchema2).min(1).optional()
|
|
593
|
+
});
|
|
594
|
+
var uiFieldSchemaSchema2 = z4.object({
|
|
595
|
+
"ui:widget": z4.string().optional(),
|
|
596
|
+
"ui:title": z4.string().optional(),
|
|
597
|
+
"ui:description": z4.string().optional(),
|
|
598
|
+
"ui:options": z4.record(z4.string(), z4.unknown()).optional(),
|
|
599
|
+
items: z4.lazy(() => z4.record(z4.string(), uiFieldSchemaSchema2)).optional()
|
|
410
600
|
}).passthrough();
|
|
411
|
-
var contextUiSchema2 =
|
|
412
|
-
var contextDataSchema2 =
|
|
413
|
-
data:
|
|
601
|
+
var contextUiSchema2 = z4.record(z4.string(), uiFieldSchemaSchema2).optional();
|
|
602
|
+
var contextDataSchema2 = z4.object({
|
|
603
|
+
data: z4.record(z4.string(), z4.unknown()),
|
|
414
604
|
ui: contextUiSchema2
|
|
415
605
|
}).optional();
|
|
416
606
|
var TASK_CONTEXT_FORMAT_VERSION2 = 2;
|
|
417
|
-
var taskContextObjectBaseSchema2 =
|
|
418
|
-
app:
|
|
419
|
-
type:
|
|
420
|
-
name:
|
|
421
|
-
description:
|
|
422
|
-
validUntil:
|
|
607
|
+
var taskContextObjectBaseSchema2 = z4.object({
|
|
608
|
+
app: z4.string().min(1).optional(),
|
|
609
|
+
type: z4.string().min(1),
|
|
610
|
+
name: z4.string().min(1),
|
|
611
|
+
description: z4.string().optional(),
|
|
612
|
+
validUntil: z4.string().optional(),
|
|
423
613
|
context: contextDataSchema2,
|
|
424
|
-
contextVersion:
|
|
614
|
+
contextVersion: z4.literal(2).optional(),
|
|
425
615
|
/** @deprecated Use `contextVersion`. Accepted on ingest only. */
|
|
426
|
-
version:
|
|
427
|
-
actions:
|
|
616
|
+
version: z4.literal(2).optional(),
|
|
617
|
+
actions: z4.array(taskActionSchema2).min(1, "At least one action is required")
|
|
428
618
|
});
|
|
429
619
|
function normalizeTaskContextVersion2(data) {
|
|
430
620
|
const { version: legacyVersion, contextVersion, ...rest } = data;
|
|
@@ -440,7 +630,7 @@ function refineContextPublicUrls2(data, ctx) {
|
|
|
440
630
|
const error = validateContextPublicUrls(data.context);
|
|
441
631
|
if (error) {
|
|
442
632
|
ctx.addIssue({
|
|
443
|
-
code:
|
|
633
|
+
code: z4.ZodIssueCode.custom,
|
|
444
634
|
message: error,
|
|
445
635
|
path: ["context"]
|
|
446
636
|
});
|
|
@@ -449,9 +639,10 @@ function refineContextPublicUrls2(data, ctx) {
|
|
|
449
639
|
var taskContextSchema2 = taskContextObjectSchema2.superRefine(
|
|
450
640
|
refineContextPublicUrls2
|
|
451
641
|
);
|
|
452
|
-
var
|
|
453
|
-
|
|
454
|
-
|
|
642
|
+
var VIRTUAL_ASSIGN_TO_GROUP_SLUGS = ["all", "admins"];
|
|
643
|
+
var assignToSchema2 = z4.object({
|
|
644
|
+
users: z4.array(z4.string().email()).optional(),
|
|
645
|
+
groups: z4.array(z4.string().min(1)).optional()
|
|
455
646
|
}).refine(
|
|
456
647
|
(data) => {
|
|
457
648
|
const groups = data.groups ?? [];
|
|
@@ -462,7 +653,7 @@ var assignToSchema2 = z2.object({
|
|
|
462
653
|
},
|
|
463
654
|
{ message: 'Cannot combine "all" with other group slugs' }
|
|
464
655
|
);
|
|
465
|
-
var threadUpdateMessageSchema2 =
|
|
656
|
+
var threadUpdateMessageSchema2 = z4.string().min(1).max(500);
|
|
466
657
|
var threadUpdateStatuses2 = [
|
|
467
658
|
"info",
|
|
468
659
|
"queued",
|
|
@@ -472,14 +663,14 @@ var threadUpdateStatuses2 = [
|
|
|
472
663
|
"failed",
|
|
473
664
|
"cancelled"
|
|
474
665
|
];
|
|
475
|
-
var threadUpdateStatusSchema2 =
|
|
666
|
+
var threadUpdateStatusSchema2 = z4.enum(threadUpdateStatuses2);
|
|
476
667
|
var DEFAULT_THREAD_UPDATE_STATUS = "info";
|
|
477
|
-
var threadUpdateInputSchema2 =
|
|
668
|
+
var threadUpdateInputSchema2 = z4.object({
|
|
478
669
|
message: threadUpdateMessageSchema2,
|
|
479
670
|
status: threadUpdateStatusSchema2.optional()
|
|
480
671
|
});
|
|
481
672
|
var taskPriorities2 = ["low", "normal", "high", "urgent"];
|
|
482
|
-
var taskPrioritySchema2 =
|
|
673
|
+
var taskPrioritySchema2 = z4.enum(taskPriorities2);
|
|
483
674
|
var DEFAULT_TASK_PRIORITY = "normal";
|
|
484
675
|
var LOWEST_TASK_PRIORITY = "low";
|
|
485
676
|
var TASK_PRIORITY_RANK = {
|
|
@@ -488,8 +679,8 @@ var TASK_PRIORITY_RANK = {
|
|
|
488
679
|
high: 3,
|
|
489
680
|
urgent: 4
|
|
490
681
|
};
|
|
491
|
-
var agentTelemetrySchema2 =
|
|
492
|
-
version:
|
|
682
|
+
var agentTelemetrySchema2 = z4.object({
|
|
683
|
+
version: z4.string().min(1)
|
|
493
684
|
});
|
|
494
685
|
var createTaskBodySchema2 = taskContextObjectBaseSchema2.extend({
|
|
495
686
|
assignTo: assignToSchema2.optional(),
|
|
@@ -497,7 +688,7 @@ var createTaskBodySchema2 = taskContextObjectBaseSchema2.extend({
|
|
|
497
688
|
* Groups related tasks together. When omitted, the server generates one and
|
|
498
689
|
* returns it so the caller can reuse it on later tasks in the same thread.
|
|
499
690
|
*/
|
|
500
|
-
threadId:
|
|
691
|
+
threadId: z4.string().min(1).optional(),
|
|
501
692
|
/**
|
|
502
693
|
* Optional thread priority. When set, applies to the whole thread and
|
|
503
694
|
* overwrites any previous priority. Omit on later tasks to leave unchanged.
|
|
@@ -517,6 +708,7 @@ export {
|
|
|
517
708
|
LOWEST_TASK_PRIORITY,
|
|
518
709
|
TASK_CONTEXT_FORMAT_VERSION2 as TASK_CONTEXT_FORMAT_VERSION,
|
|
519
710
|
TASK_PRIORITY_RANK,
|
|
711
|
+
VIRTUAL_ASSIGN_TO_GROUP_SLUGS,
|
|
520
712
|
agentTelemetrySchema2 as agentTelemetrySchema,
|
|
521
713
|
assignToSchema2 as assignToSchema,
|
|
522
714
|
createTaskBodySchema2 as createTaskBodySchema,
|