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.
Files changed (80) hide show
  1. package/README.md +11 -1
  2. package/dist/agent-admin.d.ts +5 -0
  3. package/dist/agent-admin.js +75 -2
  4. package/dist/agent-admin.js.map +1 -1
  5. package/dist/ai/index.d.ts +5 -5
  6. package/dist/ai/index.js +120 -4
  7. package/dist/ai/index.js.map +1 -1
  8. package/dist/ai/trigger.d.ts +3 -3
  9. package/dist/ai/trigger.js +120 -4
  10. package/dist/ai/trigger.js.map +1 -1
  11. package/dist/ai/workflow.d.ts +3 -3
  12. package/dist/ai/workflow.js +120 -4
  13. package/dist/ai/workflow.js.map +1 -1
  14. package/dist/{client-CZ5eWH5v.d.ts → client-BxbxttFH.d.ts} +19 -1
  15. package/dist/eve/agent/index.d.ts +4 -4
  16. package/dist/eve/agent/index.js +565 -261
  17. package/dist/eve/agent/index.js.map +1 -1
  18. package/dist/eve/index.d.ts +4 -4
  19. package/dist/eve/index.js +384 -7
  20. package/dist/eve/index.js.map +1 -1
  21. package/dist/eve/tools/admin/assign-tasks.d.ts +40 -19
  22. package/dist/eve/tools/admin/assign-tasks.js +322 -25
  23. package/dist/eve/tools/admin/assign-tasks.js.map +1 -1
  24. package/dist/eve/tools/admin/get-workspace-usage.d.ts +71 -0
  25. package/dist/eve/tools/admin/get-workspace-usage.js +1353 -0
  26. package/dist/eve/tools/admin/get-workspace-usage.js.map +1 -0
  27. package/dist/eve/tools/admin/manage-groups.d.ts +122 -7
  28. package/dist/eve/tools/admin/manage-groups.js +338 -31
  29. package/dist/eve/tools/admin/manage-groups.js.map +1 -1
  30. package/dist/eve/tools/admin/manage-team-members.d.ts +86 -7
  31. package/dist/eve/tools/admin/manage-team-members.js +306 -16
  32. package/dist/eve/tools/admin/manage-team-members.js.map +1 -1
  33. package/dist/eve/tools/admin/query-tasks.d.ts +85 -10
  34. package/dist/eve/tools/admin/query-tasks.js +351 -40
  35. package/dist/eve/tools/admin/query-tasks.js.map +1 -1
  36. package/dist/eve/tools/catalog/generate-image.d.ts +64 -0
  37. package/dist/eve/tools/catalog/generate-image.js +2065 -0
  38. package/dist/eve/tools/catalog/generate-image.js.map +1 -0
  39. package/dist/eve/tools/catalog/generate-random-chart.d.ts +71 -0
  40. package/dist/eve/tools/catalog/generate-random-chart.js +372 -0
  41. package/dist/eve/tools/catalog/generate-random-chart.js.map +1 -0
  42. package/dist/eve/tools/catalog/search-products.d.ts +36 -43
  43. package/dist/eve/tools/catalog/search-products.js +241 -6
  44. package/dist/eve/tools/catalog/search-products.js.map +1 -1
  45. package/dist/eve/tools/identity/index.d.ts +2 -1
  46. package/dist/eve/tools/identity/index.js +26 -6
  47. package/dist/eve/tools/identity/index.js.map +1 -1
  48. package/dist/eve/tools/identity/my-access.d.ts +90 -5
  49. package/dist/eve/tools/identity/my-access.js +26 -6
  50. package/dist/eve/tools/identity/my-access.js.map +1 -1
  51. package/dist/eve/tools/identity/whoami.d.ts +1 -1
  52. package/dist/eve/tools/identity/whoami.js.map +1 -1
  53. package/dist/eve/tools/inbox/create-task.d.ts +1 -1
  54. package/dist/eve/tools/inbox/create-task.js +119 -2
  55. package/dist/eve/tools/inbox/create-task.js.map +1 -1
  56. package/dist/eve/tools/inbox/index.d.ts +1 -1
  57. package/dist/eve/tools/inbox/index.js +119 -2
  58. package/dist/eve/tools/inbox/index.js.map +1 -1
  59. package/dist/eve/tools/index.d.ts +5 -2
  60. package/dist/eve/tools/index.js +908 -115
  61. package/dist/eve/tools/index.js.map +1 -1
  62. package/dist/index-Drj0Rzf_.d.ts +905 -0
  63. package/dist/index.d.ts +5 -5
  64. package/dist/index.js +316 -13
  65. package/dist/index.js.map +1 -1
  66. package/dist/schemas/index.js +67 -1
  67. package/dist/schemas/index.js.map +1 -1
  68. package/dist/{tool-approval-bridge-DnGaRES4.d.ts → tool-approval-bridge-Cz7qQUpw.d.ts} +1 -1
  69. package/dist/{tool-reply-guidance-C3qrT1In.d.ts → tool-reply-guidance-CJko9liH.d.ts} +5 -2
  70. package/dist/tool-result-ui-meta-KT0VafEO.d.ts +52 -0
  71. package/dist/trigger/index.d.ts +1 -1
  72. package/dist/trigger/index.js +118 -2
  73. package/dist/trigger/index.js.map +1 -1
  74. package/dist/{trigger--qTIK0s6.d.ts → trigger-C1ooSegc.d.ts} +2 -2
  75. package/dist/workflow/index.d.ts +1 -1
  76. package/dist/workflow/index.js +118 -2
  77. package/dist/workflow/index.js.map +1 -1
  78. package/package.json +21 -4
  79. package/dist/index-Blq0XoAr.d.ts +0 -204
  80. package/dist/tool-ui-hint-CMpug5sC.d.ts +0 -13
@@ -642,6 +642,40 @@ var agentChatLinkTaskBodySchema = z.object({
642
642
  publicTaskId: z.string().min(1),
643
643
  toolCallId: z.string().min(1)
644
644
  });
645
+ var AGENT_FILE_TAGS_MAX = 20;
646
+ var AGENT_FILE_TAG_MAX_LENGTH = 64;
647
+ function normalizeAgentFileTags(tags) {
648
+ if (!tags?.length) return void 0;
649
+ const seen = /* @__PURE__ */ new Set();
650
+ const out = [];
651
+ for (const raw of tags) {
652
+ const tag = raw.trim().toLowerCase().slice(0, AGENT_FILE_TAG_MAX_LENGTH);
653
+ if (!tag || seen.has(tag)) continue;
654
+ seen.add(tag);
655
+ out.push(tag);
656
+ if (out.length >= AGENT_FILE_TAGS_MAX) break;
657
+ }
658
+ return out.length > 0 ? out : void 0;
659
+ }
660
+ var agentChatUploadImageBodySchema = z.object({
661
+ mediaType: z.string().min(1),
662
+ /** Raw base64 (no data: URL prefix). */
663
+ base64: z.string().min(1),
664
+ chatId: z.string().min(1).optional(),
665
+ publicTaskId: z.string().min(1).optional(),
666
+ source: z.string().min(1).optional(),
667
+ /** Display / search name (e.g. `sunset-robot.png`). */
668
+ filename: z.string().min(1).max(255).optional(),
669
+ /** Human-readable description (e.g. generation prompt). */
670
+ description: z.string().min(1).max(2e3).optional(),
671
+ /**
672
+ * Optional labels for later grouping/filtering.
673
+ * Normalized to lowercase trimmed unique strings (max 20, 64 chars each).
674
+ */
675
+ tags: z.array(z.string().min(1).max(AGENT_FILE_TAG_MAX_LENGTH)).max(AGENT_FILE_TAGS_MAX).optional().transform((tags) => normalizeAgentFileTags(tags))
676
+ }).refine((data) => Boolean(data.chatId || data.publicTaskId), {
677
+ message: "Provide chatId and/or publicTaskId"
678
+ });
645
679
 
646
680
  // ../core/src/schemas/tool-result-display.ts
647
681
  import { z as z2 } from "zod";
@@ -670,7 +704,8 @@ var tenantRoleSchema = z3.enum(["admin", "member"]);
670
704
  var agentAdminUserSchema = z3.object({
671
705
  id: z3.string(),
672
706
  email: z3.string().email(),
673
- name: z3.string()
707
+ name: z3.string(),
708
+ profilePictureUrl: z3.string().nullable().optional()
674
709
  });
675
710
  var agentAdminMemberSchema = z3.object({
676
711
  userId: z3.string(),
@@ -755,6 +790,37 @@ var assignTasksBodySchema = z3.object({
755
790
  { message: "assignTo needs at least one user email or group slug." }
756
791
  )
757
792
  });
793
+ var agentAdminPlanLimitsSchema = z3.object({
794
+ tasksPerDay: z3.number(),
795
+ members: z3.number(),
796
+ apiKeys: z3.number(),
797
+ groups: z3.number(),
798
+ auditLogRetention: z3.number(),
799
+ rateLimitPerSecond: z3.number(),
800
+ taskRetentionDays: z3.number()
801
+ });
802
+ var agentAdminUsageSchema = z3.object({
803
+ workspace: z3.string(),
804
+ planName: z3.string(),
805
+ planType: z3.string(),
806
+ trialState: z3.enum(["none", "active", "expired"]),
807
+ daysRemaining: z3.number().nullable(),
808
+ isPaidPro: z3.boolean(),
809
+ subscriptionStatus: z3.string().nullable(),
810
+ tasksToday: z3.number(),
811
+ maxTasksPerDay: z3.number().nullable(),
812
+ tasksResetAt: z3.number(),
813
+ openTasks: z3.number(),
814
+ totalTasks: z3.number(),
815
+ seatsCurrent: z3.number(),
816
+ seatsMax: z3.number().nullable(),
817
+ groupsCurrent: z3.number(),
818
+ groupsMax: z3.number().nullable(),
819
+ apiKeysCurrent: z3.number(),
820
+ apiKeysMax: z3.number().nullable(),
821
+ rateLimitPerSecond: z3.number(),
822
+ limits: agentAdminPlanLimitsSchema
823
+ });
758
824
 
759
825
  // src/schemas/index.ts
760
826
  var handlerUrlSchema2 = z4.string().refine((url) => isAllowedHandlerUrl(url), {
@@ -1058,7 +1124,11 @@ function resolveRobotRockAuthConfig(overrides) {
1058
1124
  "RobotRock auth is required. Set ROBOTROCK_API_KEY, ROBOTROCK_AGENT_SERVICE_TOKEN with tenant context, or pass auth when creating the client."
1059
1125
  );
1060
1126
  }
1061
- return { kind: "apiKey", apiKey };
1127
+ return {
1128
+ kind: "apiKey",
1129
+ apiKey,
1130
+ ...overrides?.actingUserId?.trim() ? { actingUserId: overrides.actingUserId.trim() } : {}
1131
+ };
1062
1132
  }
1063
1133
 
1064
1134
  // src/chat-correlation.ts
@@ -1252,6 +1322,51 @@ function createChatsApi(config) {
1252
1322
  data
1253
1323
  );
1254
1324
  }
1325
+ },
1326
+ async uploadImage(input) {
1327
+ const validation = agentChatUploadImageBodySchema.safeParse(input);
1328
+ if (!validation.success) {
1329
+ throw new RobotRockError(
1330
+ `Invalid image upload: ${validation.error.issues[0]?.message}`,
1331
+ 400,
1332
+ validation.error.issues
1333
+ );
1334
+ }
1335
+ const response = await fetch(`${config.baseUrl}/agent-chats/images`, {
1336
+ method: "POST",
1337
+ headers: headers(),
1338
+ body: JSON.stringify(validation.data)
1339
+ });
1340
+ const data = await parseResponseBody(response);
1341
+ if (!response.ok) {
1342
+ throw new RobotRockError(
1343
+ getErrorMessage(data, "Failed to upload chat image"),
1344
+ response.status,
1345
+ data
1346
+ );
1347
+ }
1348
+ const uploaded = data;
1349
+ if (typeof uploaded.storageId !== "string" || typeof uploaded.url !== "string" || typeof uploaded.mediaType !== "string") {
1350
+ throw new RobotRockError(
1351
+ "Image upload returned an invalid response",
1352
+ 500,
1353
+ data
1354
+ );
1355
+ }
1356
+ return {
1357
+ storageId: uploaded.storageId,
1358
+ url: uploaded.url,
1359
+ mediaType: uploaded.mediaType,
1360
+ ...typeof uploaded.chatId === "string" ? { chatId: uploaded.chatId } : {},
1361
+ ...typeof uploaded.publicTaskId === "string" ? { publicTaskId: uploaded.publicTaskId } : {},
1362
+ ...typeof uploaded.filename === "string" ? { filename: uploaded.filename } : {},
1363
+ ...typeof uploaded.description === "string" ? { description: uploaded.description } : {},
1364
+ ...Array.isArray(uploaded.tags) ? {
1365
+ tags: uploaded.tags.filter(
1366
+ (tag) => typeof tag === "string"
1367
+ )
1368
+ } : {}
1369
+ };
1255
1370
  }
1256
1371
  };
1257
1372
  }
@@ -1321,6 +1436,7 @@ var RobotRock = class {
1321
1436
  }
1322
1437
  this.auth = resolveRobotRockAuthConfig({
1323
1438
  ...apiKey ? { apiKey } : {},
1439
+ ...config.actingUserId ? { actingUserId: config.actingUserId } : {},
1324
1440
  ...agentService ? { agentService } : {}
1325
1441
  });
1326
1442
  this.chatCorrelation = config.chatCorrelation;