robotrock 1.3.4 → 1.4.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/README.md +11 -1
- package/dist/agent-admin.d.ts +5 -0
- package/dist/agent-admin.js +75 -2
- package/dist/agent-admin.js.map +1 -1
- package/dist/ai/index.d.ts +5 -5
- package/dist/ai/index.js +120 -4
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/trigger.d.ts +3 -3
- package/dist/ai/trigger.js +120 -4
- package/dist/ai/trigger.js.map +1 -1
- package/dist/ai/workflow.d.ts +3 -3
- package/dist/ai/workflow.js +120 -4
- package/dist/ai/workflow.js.map +1 -1
- package/dist/{client-CZ5eWH5v.d.ts → client-BxbxttFH.d.ts} +19 -1
- package/dist/eve/agent/index.d.ts +4 -4
- package/dist/eve/agent/index.js +565 -261
- package/dist/eve/agent/index.js.map +1 -1
- package/dist/eve/index.d.ts +4 -4
- package/dist/eve/index.js +384 -7
- package/dist/eve/index.js.map +1 -1
- package/dist/eve/tools/admin/assign-tasks.d.ts +40 -19
- package/dist/eve/tools/admin/assign-tasks.js +322 -25
- package/dist/eve/tools/admin/assign-tasks.js.map +1 -1
- package/dist/eve/tools/admin/get-workspace-usage.d.ts +71 -0
- package/dist/eve/tools/admin/get-workspace-usage.js +1353 -0
- package/dist/eve/tools/admin/get-workspace-usage.js.map +1 -0
- package/dist/eve/tools/admin/manage-groups.d.ts +122 -7
- package/dist/eve/tools/admin/manage-groups.js +338 -31
- package/dist/eve/tools/admin/manage-groups.js.map +1 -1
- package/dist/eve/tools/admin/manage-team-members.d.ts +86 -7
- package/dist/eve/tools/admin/manage-team-members.js +306 -16
- package/dist/eve/tools/admin/manage-team-members.js.map +1 -1
- package/dist/eve/tools/admin/query-tasks.d.ts +85 -10
- package/dist/eve/tools/admin/query-tasks.js +351 -40
- package/dist/eve/tools/admin/query-tasks.js.map +1 -1
- package/dist/eve/tools/catalog/generate-image.d.ts +64 -0
- package/dist/eve/tools/catalog/generate-image.js +2065 -0
- package/dist/eve/tools/catalog/generate-image.js.map +1 -0
- package/dist/eve/tools/catalog/generate-random-chart.d.ts +71 -0
- package/dist/eve/tools/catalog/generate-random-chart.js +372 -0
- package/dist/eve/tools/catalog/generate-random-chart.js.map +1 -0
- package/dist/eve/tools/catalog/search-products.d.ts +36 -43
- package/dist/eve/tools/catalog/search-products.js +241 -6
- package/dist/eve/tools/catalog/search-products.js.map +1 -1
- package/dist/eve/tools/identity/index.d.ts +2 -1
- package/dist/eve/tools/identity/index.js +26 -6
- package/dist/eve/tools/identity/index.js.map +1 -1
- package/dist/eve/tools/identity/my-access.d.ts +90 -5
- package/dist/eve/tools/identity/my-access.js +26 -6
- package/dist/eve/tools/identity/my-access.js.map +1 -1
- package/dist/eve/tools/identity/whoami.d.ts +1 -1
- package/dist/eve/tools/identity/whoami.js.map +1 -1
- package/dist/eve/tools/inbox/create-task.d.ts +1 -1
- package/dist/eve/tools/inbox/create-task.js +119 -2
- package/dist/eve/tools/inbox/create-task.js.map +1 -1
- package/dist/eve/tools/inbox/index.d.ts +1 -1
- package/dist/eve/tools/inbox/index.js +119 -2
- package/dist/eve/tools/inbox/index.js.map +1 -1
- package/dist/eve/tools/index.d.ts +5 -2
- package/dist/eve/tools/index.js +908 -115
- package/dist/eve/tools/index.js.map +1 -1
- package/dist/index-Drj0Rzf_.d.ts +905 -0
- package/dist/index.d.ts +5 -5
- package/dist/index.js +316 -13
- package/dist/index.js.map +1 -1
- package/dist/schemas/index.js +67 -1
- package/dist/schemas/index.js.map +1 -1
- package/dist/{tool-approval-bridge-DnGaRES4.d.ts → tool-approval-bridge-Cz7qQUpw.d.ts} +1 -1
- package/dist/{tool-reply-guidance-C3qrT1In.d.ts → tool-reply-guidance-CJko9liH.d.ts} +5 -2
- package/dist/tool-result-ui-meta-KT0VafEO.d.ts +52 -0
- package/dist/trigger/index.d.ts +1 -1
- package/dist/trigger/index.js +118 -2
- package/dist/trigger/index.js.map +1 -1
- package/dist/{trigger--qTIK0s6.d.ts → trigger-C1ooSegc.d.ts} +2 -2
- package/dist/workflow/index.d.ts +1 -1
- package/dist/workflow/index.js +118 -2
- package/dist/workflow/index.js.map +1 -1
- package/package.json +21 -4
- package/dist/index-Blq0XoAr.d.ts +0 -204
- package/dist/tool-ui-hint-CMpug5sC.d.ts +0 -13
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as eve_tools from 'eve/tools';
|
|
2
|
-
import { T as ToolResultWithReplyGuidance } from '../../../tool-reply-guidance-C3qrT1In.js';
|
|
3
2
|
import { z } from 'zod';
|
|
4
3
|
|
|
5
4
|
declare const MANAGE_TEAM_MEMBERS_TOOL_NAME = "manage_team_members";
|
|
@@ -23,22 +22,102 @@ declare function defineManageTeamMembersTool(): eve_tools.ToolDefinition<{
|
|
|
23
22
|
userId?: string | undefined;
|
|
24
23
|
email?: string | undefined;
|
|
25
24
|
role?: "admin" | "member" | undefined;
|
|
26
|
-
},
|
|
25
|
+
}, {
|
|
26
|
+
members: {
|
|
27
|
+
name: string;
|
|
28
|
+
email: string;
|
|
29
|
+
role: string;
|
|
30
|
+
membershipKind: string;
|
|
31
|
+
profilePictureUrl: string | null;
|
|
32
|
+
}[];
|
|
33
|
+
replyGuidance?: string | undefined;
|
|
34
|
+
ui?: {
|
|
35
|
+
present?: boolean | undefined;
|
|
36
|
+
entity?: string | undefined;
|
|
37
|
+
rowsPath?: string | undefined;
|
|
38
|
+
layout?: "list" | "chart" | "table" | undefined;
|
|
39
|
+
} | undefined;
|
|
40
|
+
uiHint?: "list" | "chart" | "table" | undefined;
|
|
41
|
+
} | {
|
|
42
|
+
name: string;
|
|
43
|
+
email: string;
|
|
44
|
+
role: string;
|
|
45
|
+
membershipKind: string;
|
|
46
|
+
profilePictureUrl: string | null;
|
|
47
|
+
replyGuidance?: string | undefined;
|
|
48
|
+
ui?: {
|
|
49
|
+
present?: boolean | undefined;
|
|
50
|
+
entity?: string | undefined;
|
|
51
|
+
rowsPath?: string | undefined;
|
|
52
|
+
layout?: "list" | "chart" | "table" | undefined;
|
|
53
|
+
} | undefined;
|
|
54
|
+
uiHint?: "list" | "chart" | "table" | undefined;
|
|
55
|
+
} | {
|
|
27
56
|
ok: false;
|
|
28
|
-
status: number;
|
|
29
57
|
message: string;
|
|
30
|
-
|
|
58
|
+
status?: number | undefined;
|
|
59
|
+
response?: unknown;
|
|
60
|
+
} | {
|
|
61
|
+
[x: string]: unknown;
|
|
62
|
+
replyGuidance?: string | undefined;
|
|
63
|
+
ui?: {
|
|
64
|
+
present?: boolean | undefined;
|
|
65
|
+
entity?: string | undefined;
|
|
66
|
+
rowsPath?: string | undefined;
|
|
67
|
+
layout?: "list" | "chart" | "table" | undefined;
|
|
68
|
+
} | undefined;
|
|
69
|
+
uiHint?: "list" | "chart" | "table" | undefined;
|
|
31
70
|
}>;
|
|
32
71
|
declare const manageTeamMembersTool: eve_tools.ToolDefinition<{
|
|
33
72
|
action: "list" | "get" | "invite" | "update_role" | "remove";
|
|
34
73
|
userId?: string | undefined;
|
|
35
74
|
email?: string | undefined;
|
|
36
75
|
role?: "admin" | "member" | undefined;
|
|
37
|
-
},
|
|
76
|
+
}, {
|
|
77
|
+
members: {
|
|
78
|
+
name: string;
|
|
79
|
+
email: string;
|
|
80
|
+
role: string;
|
|
81
|
+
membershipKind: string;
|
|
82
|
+
profilePictureUrl: string | null;
|
|
83
|
+
}[];
|
|
84
|
+
replyGuidance?: string | undefined;
|
|
85
|
+
ui?: {
|
|
86
|
+
present?: boolean | undefined;
|
|
87
|
+
entity?: string | undefined;
|
|
88
|
+
rowsPath?: string | undefined;
|
|
89
|
+
layout?: "list" | "chart" | "table" | undefined;
|
|
90
|
+
} | undefined;
|
|
91
|
+
uiHint?: "list" | "chart" | "table" | undefined;
|
|
92
|
+
} | {
|
|
93
|
+
name: string;
|
|
94
|
+
email: string;
|
|
95
|
+
role: string;
|
|
96
|
+
membershipKind: string;
|
|
97
|
+
profilePictureUrl: string | null;
|
|
98
|
+
replyGuidance?: string | undefined;
|
|
99
|
+
ui?: {
|
|
100
|
+
present?: boolean | undefined;
|
|
101
|
+
entity?: string | undefined;
|
|
102
|
+
rowsPath?: string | undefined;
|
|
103
|
+
layout?: "list" | "chart" | "table" | undefined;
|
|
104
|
+
} | undefined;
|
|
105
|
+
uiHint?: "list" | "chart" | "table" | undefined;
|
|
106
|
+
} | {
|
|
38
107
|
ok: false;
|
|
39
|
-
status: number;
|
|
40
108
|
message: string;
|
|
41
|
-
|
|
109
|
+
status?: number | undefined;
|
|
110
|
+
response?: unknown;
|
|
111
|
+
} | {
|
|
112
|
+
[x: string]: unknown;
|
|
113
|
+
replyGuidance?: string | undefined;
|
|
114
|
+
ui?: {
|
|
115
|
+
present?: boolean | undefined;
|
|
116
|
+
entity?: string | undefined;
|
|
117
|
+
rowsPath?: string | undefined;
|
|
118
|
+
layout?: "list" | "chart" | "table" | undefined;
|
|
119
|
+
} | undefined;
|
|
120
|
+
uiHint?: "list" | "chart" | "table" | undefined;
|
|
42
121
|
}>;
|
|
43
122
|
|
|
44
123
|
export { MANAGE_TEAM_MEMBERS_TOOL_NAME, defineManageTeamMembersTool, manageTeamMembersInputSchema, manageTeamMembersTool };
|
|
@@ -489,6 +489,40 @@ var agentChatLinkTaskBodySchema = z.object({
|
|
|
489
489
|
publicTaskId: z.string().min(1),
|
|
490
490
|
toolCallId: z.string().min(1)
|
|
491
491
|
});
|
|
492
|
+
var AGENT_FILE_TAGS_MAX = 20;
|
|
493
|
+
var AGENT_FILE_TAG_MAX_LENGTH = 64;
|
|
494
|
+
function normalizeAgentFileTags(tags) {
|
|
495
|
+
if (!tags?.length) return void 0;
|
|
496
|
+
const seen = /* @__PURE__ */ new Set();
|
|
497
|
+
const out = [];
|
|
498
|
+
for (const raw of tags) {
|
|
499
|
+
const tag = raw.trim().toLowerCase().slice(0, AGENT_FILE_TAG_MAX_LENGTH);
|
|
500
|
+
if (!tag || seen.has(tag)) continue;
|
|
501
|
+
seen.add(tag);
|
|
502
|
+
out.push(tag);
|
|
503
|
+
if (out.length >= AGENT_FILE_TAGS_MAX) break;
|
|
504
|
+
}
|
|
505
|
+
return out.length > 0 ? out : void 0;
|
|
506
|
+
}
|
|
507
|
+
var agentChatUploadImageBodySchema = z.object({
|
|
508
|
+
mediaType: z.string().min(1),
|
|
509
|
+
/** Raw base64 (no data: URL prefix). */
|
|
510
|
+
base64: z.string().min(1),
|
|
511
|
+
chatId: z.string().min(1).optional(),
|
|
512
|
+
publicTaskId: z.string().min(1).optional(),
|
|
513
|
+
source: z.string().min(1).optional(),
|
|
514
|
+
/** Display / search name (e.g. `sunset-robot.png`). */
|
|
515
|
+
filename: z.string().min(1).max(255).optional(),
|
|
516
|
+
/** Human-readable description (e.g. generation prompt). */
|
|
517
|
+
description: z.string().min(1).max(2e3).optional(),
|
|
518
|
+
/**
|
|
519
|
+
* Optional labels for later grouping/filtering.
|
|
520
|
+
* Normalized to lowercase trimmed unique strings (max 20, 64 chars each).
|
|
521
|
+
*/
|
|
522
|
+
tags: z.array(z.string().min(1).max(AGENT_FILE_TAG_MAX_LENGTH)).max(AGENT_FILE_TAGS_MAX).optional().transform((tags) => normalizeAgentFileTags(tags))
|
|
523
|
+
}).refine((data) => Boolean(data.chatId || data.publicTaskId), {
|
|
524
|
+
message: "Provide chatId and/or publicTaskId"
|
|
525
|
+
});
|
|
492
526
|
|
|
493
527
|
// ../core/src/schemas/tool-result-display.ts
|
|
494
528
|
import { z as z2 } from "zod";
|
|
@@ -517,7 +551,8 @@ var tenantRoleSchema = z3.enum(["admin", "member"]);
|
|
|
517
551
|
var agentAdminUserSchema = z3.object({
|
|
518
552
|
id: z3.string(),
|
|
519
553
|
email: z3.string().email(),
|
|
520
|
-
name: z3.string()
|
|
554
|
+
name: z3.string(),
|
|
555
|
+
profilePictureUrl: z3.string().nullable().optional()
|
|
521
556
|
});
|
|
522
557
|
var agentAdminMemberSchema = z3.object({
|
|
523
558
|
userId: z3.string(),
|
|
@@ -602,6 +637,37 @@ var assignTasksBodySchema = z3.object({
|
|
|
602
637
|
{ message: "assignTo needs at least one user email or group slug." }
|
|
603
638
|
)
|
|
604
639
|
});
|
|
640
|
+
var agentAdminPlanLimitsSchema = z3.object({
|
|
641
|
+
tasksPerDay: z3.number(),
|
|
642
|
+
members: z3.number(),
|
|
643
|
+
apiKeys: z3.number(),
|
|
644
|
+
groups: z3.number(),
|
|
645
|
+
auditLogRetention: z3.number(),
|
|
646
|
+
rateLimitPerSecond: z3.number(),
|
|
647
|
+
taskRetentionDays: z3.number()
|
|
648
|
+
});
|
|
649
|
+
var agentAdminUsageSchema = z3.object({
|
|
650
|
+
workspace: z3.string(),
|
|
651
|
+
planName: z3.string(),
|
|
652
|
+
planType: z3.string(),
|
|
653
|
+
trialState: z3.enum(["none", "active", "expired"]),
|
|
654
|
+
daysRemaining: z3.number().nullable(),
|
|
655
|
+
isPaidPro: z3.boolean(),
|
|
656
|
+
subscriptionStatus: z3.string().nullable(),
|
|
657
|
+
tasksToday: z3.number(),
|
|
658
|
+
maxTasksPerDay: z3.number().nullable(),
|
|
659
|
+
tasksResetAt: z3.number(),
|
|
660
|
+
openTasks: z3.number(),
|
|
661
|
+
totalTasks: z3.number(),
|
|
662
|
+
seatsCurrent: z3.number(),
|
|
663
|
+
seatsMax: z3.number().nullable(),
|
|
664
|
+
groupsCurrent: z3.number(),
|
|
665
|
+
groupsMax: z3.number().nullable(),
|
|
666
|
+
apiKeysCurrent: z3.number(),
|
|
667
|
+
apiKeysMax: z3.number().nullable(),
|
|
668
|
+
rateLimitPerSecond: z3.number(),
|
|
669
|
+
limits: agentAdminPlanLimitsSchema
|
|
670
|
+
});
|
|
605
671
|
|
|
606
672
|
// ../core/src/handler-retry.ts
|
|
607
673
|
var HANDLER_RETRY_DELAYS_MS = [
|
|
@@ -697,7 +763,11 @@ function resolveRobotRockAuthConfig(overrides) {
|
|
|
697
763
|
"RobotRock auth is required. Set ROBOTROCK_API_KEY, ROBOTROCK_AGENT_SERVICE_TOKEN with tenant context, or pass auth when creating the client."
|
|
698
764
|
);
|
|
699
765
|
}
|
|
700
|
-
return {
|
|
766
|
+
return {
|
|
767
|
+
kind: "apiKey",
|
|
768
|
+
apiKey,
|
|
769
|
+
...overrides?.actingUserId?.trim() ? { actingUserId: overrides.actingUserId.trim() } : {}
|
|
770
|
+
};
|
|
701
771
|
}
|
|
702
772
|
|
|
703
773
|
// src/eve/agent/attributes.ts
|
|
@@ -833,6 +903,9 @@ async function agentAdminFetch(config, path, init) {
|
|
|
833
903
|
}
|
|
834
904
|
function createAgentAdminApi(config) {
|
|
835
905
|
return {
|
|
906
|
+
usage: {
|
|
907
|
+
get: () => agentAdminFetch(config, "/usage")
|
|
908
|
+
},
|
|
836
909
|
members: {
|
|
837
910
|
list: () => agentAdminFetch(config, "/members"),
|
|
838
911
|
get: (memberRef) => agentAdminFetch(config, `/members/${encodeURIComponent(memberRef)}`),
|
|
@@ -975,6 +1048,9 @@ function requireBoundAgentAdminClient(ctx) {
|
|
|
975
1048
|
return createBoundAgentAdminClient(ctx);
|
|
976
1049
|
}
|
|
977
1050
|
|
|
1051
|
+
// src/eve/entity-schemas.ts
|
|
1052
|
+
import { z as z5 } from "zod";
|
|
1053
|
+
|
|
978
1054
|
// src/eve/tool-ui-hint.ts
|
|
979
1055
|
var TOOL_UI_HINT_FIELD = "uiHint";
|
|
980
1056
|
function withUiHint(result, hint) {
|
|
@@ -984,6 +1060,200 @@ function withUiHint(result, hint) {
|
|
|
984
1060
|
};
|
|
985
1061
|
}
|
|
986
1062
|
|
|
1063
|
+
// src/eve/tool-result-ui-meta.ts
|
|
1064
|
+
var TOOL_UI_FIELD = "ui";
|
|
1065
|
+
var TOOL_RESULT_UI_ENTITY_ID_RE = /^[a-z][a-z0-9_]{0,63}$/;
|
|
1066
|
+
function withToolUi(result, ui) {
|
|
1067
|
+
const existing = typeof result[TOOL_UI_FIELD] === "object" && result[TOOL_UI_FIELD] !== null && !Array.isArray(result[TOOL_UI_FIELD]) ? result[TOOL_UI_FIELD] : {};
|
|
1068
|
+
return {
|
|
1069
|
+
...result,
|
|
1070
|
+
[TOOL_UI_FIELD]: {
|
|
1071
|
+
...existing,
|
|
1072
|
+
...ui
|
|
1073
|
+
}
|
|
1074
|
+
};
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
// src/eve/entity-schemas.ts
|
|
1078
|
+
var toolResultUiMetaSchema = z5.object({
|
|
1079
|
+
present: z5.boolean().optional(),
|
|
1080
|
+
entity: z5.string().regex(TOOL_RESULT_UI_ENTITY_ID_RE).optional(),
|
|
1081
|
+
rowsPath: z5.string().min(1).optional(),
|
|
1082
|
+
layout: z5.enum(["list", "chart", "table"]).optional()
|
|
1083
|
+
}).strict();
|
|
1084
|
+
var agentOnlyFields = {
|
|
1085
|
+
replyGuidance: z5.string().optional(),
|
|
1086
|
+
ui: toolResultUiMetaSchema.optional(),
|
|
1087
|
+
uiHint: z5.enum(["list", "chart", "table"]).optional()
|
|
1088
|
+
};
|
|
1089
|
+
function withAgentOnlyFields(shape) {
|
|
1090
|
+
return z5.object({
|
|
1091
|
+
...shape,
|
|
1092
|
+
...agentOnlyFields
|
|
1093
|
+
});
|
|
1094
|
+
}
|
|
1095
|
+
var productEntityRowSchema = z5.object({
|
|
1096
|
+
id: z5.string().min(1),
|
|
1097
|
+
name: z5.string().min(1),
|
|
1098
|
+
price: z5.number(),
|
|
1099
|
+
currency: z5.string().min(1),
|
|
1100
|
+
inStock: z5.boolean(),
|
|
1101
|
+
url: z5.string().min(1)
|
|
1102
|
+
});
|
|
1103
|
+
var metricPointEntityRowSchema = z5.object({
|
|
1104
|
+
date: z5.string().optional(),
|
|
1105
|
+
category: z5.string().optional(),
|
|
1106
|
+
label: z5.string().optional()
|
|
1107
|
+
}).catchall(z5.union([z5.string(), z5.number()]));
|
|
1108
|
+
var memberEntityRowSchema = z5.object({
|
|
1109
|
+
name: z5.string(),
|
|
1110
|
+
email: z5.string(),
|
|
1111
|
+
role: z5.string(),
|
|
1112
|
+
membershipKind: z5.string(),
|
|
1113
|
+
profilePictureUrl: z5.string().nullable()
|
|
1114
|
+
});
|
|
1115
|
+
var taskEntityRowSchema = z5.object({
|
|
1116
|
+
id: z5.string().min(1),
|
|
1117
|
+
name: z5.string().min(1),
|
|
1118
|
+
status: z5.string().min(1),
|
|
1119
|
+
type: z5.string().nullable(),
|
|
1120
|
+
description: z5.string().nullable(),
|
|
1121
|
+
validUntil: z5.number(),
|
|
1122
|
+
createdAt: z5.number(),
|
|
1123
|
+
url: z5.string().min(1),
|
|
1124
|
+
threadPriority: z5.string().nullable().optional()
|
|
1125
|
+
});
|
|
1126
|
+
var groupEntityRowSchema = z5.object({
|
|
1127
|
+
name: z5.string().min(1),
|
|
1128
|
+
slug: z5.string().min(1),
|
|
1129
|
+
description: z5.string().nullable(),
|
|
1130
|
+
memberCount: z5.number().nullable(),
|
|
1131
|
+
url: z5.string().min(1)
|
|
1132
|
+
});
|
|
1133
|
+
var groupDetailEntitySchema = z5.object({
|
|
1134
|
+
name: z5.string().min(1),
|
|
1135
|
+
slug: z5.string().min(1),
|
|
1136
|
+
description: z5.string().nullable(),
|
|
1137
|
+
url: z5.string().min(1),
|
|
1138
|
+
members: z5.array(
|
|
1139
|
+
z5.object({
|
|
1140
|
+
name: z5.string(),
|
|
1141
|
+
email: z5.string(),
|
|
1142
|
+
profilePictureUrl: z5.string().nullable()
|
|
1143
|
+
})
|
|
1144
|
+
)
|
|
1145
|
+
});
|
|
1146
|
+
var statusEntityRowSchema = z5.object({
|
|
1147
|
+
id: z5.string().min(1),
|
|
1148
|
+
name: z5.string().min(1),
|
|
1149
|
+
status: z5.string().min(1),
|
|
1150
|
+
url: z5.string().min(1),
|
|
1151
|
+
type: z5.string().nullable().optional(),
|
|
1152
|
+
description: z5.string().nullable().optional()
|
|
1153
|
+
});
|
|
1154
|
+
var agentAdminErrorResultSchema = z5.object({
|
|
1155
|
+
ok: z5.literal(false),
|
|
1156
|
+
status: z5.number().optional(),
|
|
1157
|
+
message: z5.string(),
|
|
1158
|
+
response: z5.unknown().optional()
|
|
1159
|
+
});
|
|
1160
|
+
var agentAdminMutationResultSchema = z5.object({
|
|
1161
|
+
...agentOnlyFields
|
|
1162
|
+
}).passthrough();
|
|
1163
|
+
var searchProductsOutputSchema = withAgentOnlyFields({
|
|
1164
|
+
items: z5.array(productEntityRowSchema)
|
|
1165
|
+
});
|
|
1166
|
+
var generateRandomChartOutputSchema = withAgentOnlyFields({
|
|
1167
|
+
title: z5.string().min(1),
|
|
1168
|
+
axis: z5.enum(["time", "category"]),
|
|
1169
|
+
series: z5.array(metricPointEntityRowSchema)
|
|
1170
|
+
});
|
|
1171
|
+
var generateImageOutputSchema = withAgentOnlyFields({
|
|
1172
|
+
prompt: z5.string().min(1),
|
|
1173
|
+
mediaType: z5.string().min(1),
|
|
1174
|
+
model: z5.string().min(1),
|
|
1175
|
+
storageId: z5.string().min(1),
|
|
1176
|
+
url: z5.string().min(1),
|
|
1177
|
+
/** @deprecated Legacy sessions only — prefer storageId/url. */
|
|
1178
|
+
base64: z5.string().min(1).optional()
|
|
1179
|
+
});
|
|
1180
|
+
var manageTeamMembersListOutputSchema = withAgentOnlyFields({
|
|
1181
|
+
members: z5.array(memberEntityRowSchema)
|
|
1182
|
+
});
|
|
1183
|
+
var manageTeamMembersDetailOutputSchema = withAgentOnlyFields(
|
|
1184
|
+
memberEntityRowSchema.shape
|
|
1185
|
+
);
|
|
1186
|
+
var manageTeamMembersOutputSchema = z5.union([
|
|
1187
|
+
manageTeamMembersListOutputSchema,
|
|
1188
|
+
manageTeamMembersDetailOutputSchema,
|
|
1189
|
+
agentAdminMutationResultSchema,
|
|
1190
|
+
agentAdminErrorResultSchema
|
|
1191
|
+
]);
|
|
1192
|
+
var manageGroupsListOutputSchema = withAgentOnlyFields({
|
|
1193
|
+
groups: z5.array(groupEntityRowSchema)
|
|
1194
|
+
});
|
|
1195
|
+
var manageGroupsDetailOutputSchema = withAgentOnlyFields(
|
|
1196
|
+
groupDetailEntitySchema.shape
|
|
1197
|
+
);
|
|
1198
|
+
var manageGroupsSummaryOutputSchema = withAgentOnlyFields(
|
|
1199
|
+
groupEntityRowSchema.shape
|
|
1200
|
+
);
|
|
1201
|
+
var manageGroupsOutputSchema = z5.union([
|
|
1202
|
+
manageGroupsListOutputSchema,
|
|
1203
|
+
manageGroupsDetailOutputSchema,
|
|
1204
|
+
manageGroupsSummaryOutputSchema,
|
|
1205
|
+
agentAdminMutationResultSchema,
|
|
1206
|
+
agentAdminErrorResultSchema
|
|
1207
|
+
]);
|
|
1208
|
+
var queryTasksListOutputSchema = withAgentOnlyFields({
|
|
1209
|
+
items: z5.array(taskEntityRowSchema),
|
|
1210
|
+
nextCursor: z5.string().nullable().optional()
|
|
1211
|
+
});
|
|
1212
|
+
var queryTasksDetailOutputSchema = withAgentOnlyFields({
|
|
1213
|
+
id: z5.string().nullable(),
|
|
1214
|
+
status: z5.string().nullable(),
|
|
1215
|
+
type: z5.string().nullable(),
|
|
1216
|
+
name: z5.string().nullable(),
|
|
1217
|
+
description: z5.string().nullable(),
|
|
1218
|
+
validUntil: z5.number().nullable(),
|
|
1219
|
+
createdAt: z5.number().nullable(),
|
|
1220
|
+
url: z5.string().min(1).nullable()
|
|
1221
|
+
});
|
|
1222
|
+
var queryTasksOutputSchema = z5.union([
|
|
1223
|
+
queryTasksListOutputSchema,
|
|
1224
|
+
queryTasksDetailOutputSchema,
|
|
1225
|
+
agentAdminErrorResultSchema
|
|
1226
|
+
]);
|
|
1227
|
+
var assignTasksOutputSchema = z5.union([
|
|
1228
|
+
withAgentOnlyFields({
|
|
1229
|
+
results: z5.array(statusEntityRowSchema)
|
|
1230
|
+
}),
|
|
1231
|
+
agentAdminErrorResultSchema
|
|
1232
|
+
]);
|
|
1233
|
+
var workspaceUsageEntitySchema = z5.object({
|
|
1234
|
+
workspace: z5.string(),
|
|
1235
|
+
plan: z5.string(),
|
|
1236
|
+
planType: z5.string(),
|
|
1237
|
+
trialState: z5.string(),
|
|
1238
|
+
daysRemaining: z5.number().nullable(),
|
|
1239
|
+
isPaidPro: z5.boolean(),
|
|
1240
|
+
subscriptionStatus: z5.string(),
|
|
1241
|
+
tasksToday: z5.string(),
|
|
1242
|
+
tasksResetAt: z5.string(),
|
|
1243
|
+
openTasks: z5.number(),
|
|
1244
|
+
totalTasks: z5.number(),
|
|
1245
|
+
seats: z5.string(),
|
|
1246
|
+
groups: z5.string(),
|
|
1247
|
+
apiKeys: z5.string(),
|
|
1248
|
+
rateLimitPerSecond: z5.number()
|
|
1249
|
+
});
|
|
1250
|
+
var getWorkspaceUsageOutputSchema = z5.union([
|
|
1251
|
+
withAgentOnlyFields({
|
|
1252
|
+
usage: workspaceUsageEntitySchema
|
|
1253
|
+
}),
|
|
1254
|
+
agentAdminErrorResultSchema
|
|
1255
|
+
]);
|
|
1256
|
+
|
|
987
1257
|
// src/eve/tool-reply-guidance.ts
|
|
988
1258
|
var TOOL_REPLY_GUIDANCE_FIELD = "replyGuidance";
|
|
989
1259
|
var MANAGE_TEAM_MEMBERS_LIST_REPLY_GUIDANCE = "Team members render as a list card in chat. Do not restate names, emails, or roles from the list. Only add context not shown (e.g. duplicates, next admin actions).";
|
|
@@ -998,15 +1268,31 @@ function withReplyGuidance(result, guidance) {
|
|
|
998
1268
|
|
|
999
1269
|
// src/eve/tool-display-format.ts
|
|
1000
1270
|
function formatToolObjectResult(data, options) {
|
|
1001
|
-
|
|
1271
|
+
let result = withReplyGuidance(
|
|
1272
|
+
data,
|
|
1273
|
+
options.replyGuidance
|
|
1274
|
+
);
|
|
1275
|
+
if (options.ui) {
|
|
1276
|
+
result = withToolUi(result, options.ui);
|
|
1277
|
+
}
|
|
1002
1278
|
if (options.uiHint) {
|
|
1003
|
-
|
|
1279
|
+
result = withUiHint(result, options.uiHint);
|
|
1004
1280
|
}
|
|
1005
|
-
return
|
|
1281
|
+
return result;
|
|
1006
1282
|
}
|
|
1007
1283
|
function formatToolListResult(listKey, items, options) {
|
|
1284
|
+
const ui = {
|
|
1285
|
+
...options.ui,
|
|
1286
|
+
layout: "list",
|
|
1287
|
+
rowsPath: listKey,
|
|
1288
|
+
...options.entity ? { entity: options.entity } : {},
|
|
1289
|
+
...options.present !== void 0 ? { present: options.present } : {}
|
|
1290
|
+
};
|
|
1008
1291
|
return withUiHint(
|
|
1009
|
-
|
|
1292
|
+
withToolUi(
|
|
1293
|
+
withReplyGuidance({ [listKey]: items }, options.replyGuidance),
|
|
1294
|
+
ui
|
|
1295
|
+
),
|
|
1010
1296
|
"list"
|
|
1011
1297
|
);
|
|
1012
1298
|
}
|
|
@@ -1017,7 +1303,8 @@ function serializeMemberRow(member) {
|
|
|
1017
1303
|
name: member.user.name,
|
|
1018
1304
|
email: member.user.email,
|
|
1019
1305
|
role: member.role,
|
|
1020
|
-
membershipKind: member.membershipKind
|
|
1306
|
+
membershipKind: member.membershipKind,
|
|
1307
|
+
profilePictureUrl: member.user.profilePictureUrl ?? null
|
|
1021
1308
|
};
|
|
1022
1309
|
}
|
|
1023
1310
|
function formatTeamMembersListResult(members) {
|
|
@@ -1025,29 +1312,31 @@ function formatTeamMembersListResult(members) {
|
|
|
1025
1312
|
"members",
|
|
1026
1313
|
members.map(serializeMemberRow),
|
|
1027
1314
|
{
|
|
1028
|
-
replyGuidance: MANAGE_TEAM_MEMBERS_LIST_REPLY_GUIDANCE
|
|
1315
|
+
replyGuidance: MANAGE_TEAM_MEMBERS_LIST_REPLY_GUIDANCE,
|
|
1316
|
+
entity: "member"
|
|
1029
1317
|
}
|
|
1030
1318
|
);
|
|
1031
1319
|
}
|
|
1032
1320
|
function formatTeamMemberDetailResult(member) {
|
|
1033
1321
|
return formatToolObjectResult(serializeMemberRow(member), {
|
|
1034
|
-
replyGuidance: MANAGE_TEAM_MEMBERS_DETAIL_REPLY_GUIDANCE
|
|
1322
|
+
replyGuidance: MANAGE_TEAM_MEMBERS_DETAIL_REPLY_GUIDANCE,
|
|
1323
|
+
ui: { entity: "member" }
|
|
1035
1324
|
});
|
|
1036
1325
|
}
|
|
1037
1326
|
|
|
1038
1327
|
// src/eve/tools/admin/manage-team-members.ts
|
|
1039
1328
|
import { defineTool } from "eve/tools";
|
|
1040
|
-
import { z as
|
|
1329
|
+
import { z as z6 } from "zod";
|
|
1041
1330
|
var MANAGE_TEAM_MEMBERS_TOOL_NAME = "manage_team_members";
|
|
1042
|
-
var manageTeamMembersInputSchema =
|
|
1043
|
-
action:
|
|
1044
|
-
userId:
|
|
1331
|
+
var manageTeamMembersInputSchema = z6.object({
|
|
1332
|
+
action: z6.enum(["list", "get", "invite", "update_role", "remove"]),
|
|
1333
|
+
userId: z6.string().min(1).optional().describe(
|
|
1045
1334
|
"Convex users table id for get, update_role, and remove. Prefer email when the member list only shows email."
|
|
1046
1335
|
),
|
|
1047
|
-
email:
|
|
1336
|
+
email: z6.string().email().optional().describe(
|
|
1048
1337
|
"Member email for get, update_role, and remove; invitee email for invite."
|
|
1049
1338
|
),
|
|
1050
|
-
role:
|
|
1339
|
+
role: z6.enum(["admin", "member"]).optional().describe("Role for invite and update_role.")
|
|
1051
1340
|
}).superRefine((input, ctx) => {
|
|
1052
1341
|
const requireField = (field, message) => {
|
|
1053
1342
|
if (!input[field]) {
|
|
@@ -1089,8 +1378,9 @@ function formatMemberMutationResult(payload) {
|
|
|
1089
1378
|
}
|
|
1090
1379
|
function defineManageTeamMembersTool() {
|
|
1091
1380
|
return defineTool({
|
|
1092
|
-
description: "Tenant-admin tool for workspace team members: list, get, invite, change role, or remove. Requires tenant admin access. Call get_my_access in the same turn before this tool to verify admin access (the check
|
|
1381
|
+
description: "Tenant-admin tool for workspace team members: list, get, invite, change role, or remove. Requires tenant admin access. Call get_my_access in the same turn before this tool to verify admin access (the check stays a compact success marker unless it is the only presentable result). Use member email from list results for get, update_role, and remove \u2014 internal ids are optional. Results render as chat UI cards \u2014 do not restate member names, emails, or roles in your reply.",
|
|
1093
1382
|
inputSchema: manageTeamMembersInputSchema,
|
|
1383
|
+
outputSchema: manageTeamMembersOutputSchema,
|
|
1094
1384
|
async execute(input, ctx) {
|
|
1095
1385
|
const api = requireBoundAgentAdminClient(ctx);
|
|
1096
1386
|
try {
|