robotrock 1.3.4 → 1.5.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 +577 -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 +507 -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 +334 -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 +1365 -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 +350 -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 +318 -16
  32. package/dist/eve/tools/admin/manage-team-members.js.map +1 -1
  33. package/dist/eve/tools/admin/query-tasks.d.ts +82 -7
  34. package/dist/eve/tools/admin/query-tasks.js +363 -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 +2077 -0
  38. package/dist/eve/tools/catalog/generate-image.js.map +1 -0
  39. package/dist/eve/tools/catalog/generate-random-chart.d.ts +77 -0
  40. package/dist/eve/tools/catalog/generate-random-chart.js +411 -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 +253 -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 +88 -3
  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 +964 -115
  61. package/dist/eve/tools/index.js.map +1 -1
  62. package/dist/index-amkHKVGs.d.ts +1054 -0
  63. package/dist/index.d.ts +5 -5
  64. package/dist/index.js +328 -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
@@ -0,0 +1,1054 @@
1
+ import { S as SendToHumanActionInput } from './client-BxbxttFH.js';
2
+ import { UiSchema } from '@robotrock/core/schemas';
3
+ import { b as ToolResultUiEntity, T as ToolResultUiMeta, a as ToolUiHint } from './tool-result-ui-meta-KT0VafEO.js';
4
+ import { z } from 'zod';
5
+ import './tool-reply-guidance-CJko9liH.js';
6
+
7
+ /** One selectable option in an Eve HITL input request. */
8
+ type EveInputOption = {
9
+ readonly id: string;
10
+ readonly label: string;
11
+ readonly description?: string;
12
+ readonly style?: "danger" | "default" | "primary";
13
+ };
14
+ /** Eve HITL display mode — mirrors `InputRequest.display` from the eve runtime. */
15
+ type EveInputRequestDisplay = "confirmation" | "select" | "text";
16
+ /**
17
+ * Minimal Eve `InputRequest` shape for RobotRock bridging. Intentionally
18
+ * self-contained so the SDK does not depend on the `eve` package.
19
+ */
20
+ type EveInputRequest = {
21
+ readonly requestId: string;
22
+ readonly prompt: string;
23
+ readonly display?: EveInputRequestDisplay;
24
+ readonly allowFreeform?: boolean;
25
+ readonly options?: readonly EveInputOption[];
26
+ };
27
+ /** Eve `InputResponse` shape returned when resuming a parked session. */
28
+ type EveInputResponse = {
29
+ readonly requestId: string;
30
+ readonly optionId?: string;
31
+ readonly text?: string;
32
+ };
33
+ declare const EVE_INPUT_SUBMIT_ACTION_ID: "submit";
34
+ declare const EVE_INPUT_OTHER_CHOICE_ID: "__other__";
35
+ declare const EVE_INPUT_OTHER_CHOICE_LABEL: "Type your own answer";
36
+ /** Resolve the effective display mode when Eve omits `display`. */
37
+ declare function resolveEveInputDisplay(request: EveInputRequest, toolName?: string): EveInputRequestDisplay;
38
+ /** Keep select-form submissions mutually exclusive between preset choice and freeform other. */
39
+ declare function normalizeEveSelectFormData(data: Record<string, unknown>): Record<string, unknown>;
40
+ /**
41
+ * Map an Eve `InputRequest` to RobotRock inbox actions.
42
+ */
43
+ declare function eveInputRequestToActions(request: EveInputRequest, options?: {
44
+ toolName?: string;
45
+ }): readonly SendToHumanActionInput[];
46
+ /** Task type slug for an Eve input request. */
47
+ declare function eveInputRequestTaskType(request: EveInputRequest, options?: {
48
+ toolName?: string;
49
+ }): string;
50
+ /**
51
+ * Map a handled RobotRock task action back to an Eve `InputResponse`.
52
+ */
53
+ declare function taskHandledToEveInputResponse(request: EveInputRequest, actionId: string, actionData: unknown, options?: {
54
+ toolName?: string;
55
+ }): EveInputResponse;
56
+
57
+ type EveInputAuditContext = {
58
+ toolCallId: string;
59
+ toolName?: string;
60
+ requestId?: string;
61
+ display?: EveInputRequestDisplay;
62
+ toolInput?: unknown;
63
+ };
64
+ /**
65
+ * Map freeform composer text to an Eve `InputResponse`, mirroring Eve's
66
+ * `resolveTextToResponse` rules (option id/label, numeric index, freeform text).
67
+ */
68
+ declare function resolveEveFreeformTextToInputResponse(request: EveInputRequest, text: string): EveInputResponse | undefined;
69
+ /** Returns true for Eve's default approval gate (approve / deny options). */
70
+ declare function isEveApprovalInputRequest(request: EveInputRequest): boolean;
71
+ type EveInputActionSubmission = {
72
+ actionId: string;
73
+ actionTitle: string;
74
+ formData: Record<string, unknown>;
75
+ };
76
+ /**
77
+ * Map a resolved Eve `InputResponse` to RobotRock audit fields (action id/title).
78
+ */
79
+ declare function eveInputResponseToActionSubmission(request: EveInputRequest, response: EveInputResponse, options?: {
80
+ toolName?: string;
81
+ }): EveInputActionSubmission;
82
+ /** Audit payload for `chat_action_input_submitted`. */
83
+ declare function buildEveInputAuditSubmissionData(context: EveInputAuditContext, formData: Record<string, unknown>): Record<string, unknown>;
84
+ /**
85
+ * Parse an `ask_question` tool result output into an Eve input response shape.
86
+ */
87
+ declare function parseEveAskQuestionToolOutput(output: unknown): Pick<EveInputResponse, "optionId" | "text"> | null;
88
+
89
+ type ChatToolAuditInput = Record<string, unknown>;
90
+ type ChatToolAuditPayload = {
91
+ toolCallId: string;
92
+ toolName: string;
93
+ input: ChatToolAuditInput;
94
+ success: boolean;
95
+ status: "completed" | "failed" | "rejected";
96
+ error?: string;
97
+ };
98
+ /**
99
+ * Whether a completed tool call should appear on the RobotRock audit trail.
100
+ * Admin mutations are logged via chat-correlated API audit instead.
101
+ */
102
+ declare function shouldAuditToolExecution(toolName: string, _input: ChatToolAuditInput): boolean;
103
+ /** Keep only fields useful for audit display (no secrets or large blobs). */
104
+ declare function sanitizeToolAuditInput(input: ChatToolAuditInput): ChatToolAuditInput;
105
+ declare function buildChatToolAuditPayload(input: {
106
+ toolCallId: string;
107
+ toolName: string;
108
+ toolInput: ChatToolAuditInput;
109
+ status: "completed" | "failed" | "rejected";
110
+ error?: string;
111
+ isError?: boolean;
112
+ }): ChatToolAuditPayload | null;
113
+
114
+ /** Default per-tool labels for common Eve demo/integration tools. */
115
+ declare const DEFAULT_TOOL_DISPLAY_LABELS: Readonly<Record<string, string>>;
116
+ /** Register additional or overriding tool display labels at runtime. */
117
+ declare function setToolDisplayLabelOverrides(overrides: Readonly<Record<string, string>>): void;
118
+ /** Resolve a user-facing label for a tool slug. */
119
+ declare function getToolDisplayLabel(toolName: string): string;
120
+ /** Format an Eve input request prompt for human-facing approval UIs. */
121
+ declare function formatEveApprovalTitle(request: EveInputRequest, toolName?: string): string;
122
+
123
+ type ToolDisplayResultOptions = {
124
+ widget?: string;
125
+ title?: string;
126
+ description?: string;
127
+ ui?: Record<string, UiSchema>;
128
+ };
129
+ /**
130
+ * @deprecated Tool results should return plain JSON. Display envelopes are ignored
131
+ * by the dashboard TRL renderer. Kept for backwards-compatible call sites.
132
+ */
133
+ declare function toolDisplayResult<T extends Record<string, unknown>>(data: T, _options?: ToolDisplayResultOptions): T;
134
+
135
+ type FormatToolObjectResultOptions = {
136
+ replyGuidance: string;
137
+ /** @deprecated Prefer `ui.layout`. Mapped for backward compatibility. */
138
+ uiHint?: ToolUiHint;
139
+ ui?: ToolResultUiMeta;
140
+ };
141
+ type FormatToolListResultOptions = {
142
+ replyGuidance: string;
143
+ entity?: ToolResultUiEntity;
144
+ present?: boolean;
145
+ ui?: Omit<ToolResultUiMeta, "rowsPath" | "layout">;
146
+ };
147
+ type FormatToolQueryResultOptions = {
148
+ replyGuidance: string;
149
+ entity?: ToolResultUiEntity;
150
+ present?: boolean;
151
+ rowsPath?: string;
152
+ ui?: ToolResultUiMeta;
153
+ };
154
+ type WithReplyGuidance$1<T> = T & {
155
+ replyGuidance: string;
156
+ };
157
+ type WithUiMeta$1<T> = T & {
158
+ ui: ToolResultUiMeta;
159
+ };
160
+ type WithUiHintField$1<T> = T & {
161
+ uiHint: ToolUiHint;
162
+ };
163
+ /** Attach agent narration hints to plain tool JSON. No display/ui envelope. */
164
+ declare function formatToolObjectResult<T extends Record<string, unknown>>(data: T, options: FormatToolObjectResultOptions): WithReplyGuidance$1<T> & Partial<WithUiMeta$1<T>> & Partial<WithUiHintField$1<T>>;
165
+ /** Wrap an array field as plain tool JSON with reply guidance and list layout hint.
166
+ *
167
+ * Include `url` on each item when you know a navigable link — the dashboard
168
+ * renders clickable Item rows. Use `attachments` / `files` / `documents` keys
169
+ * for file downloads (Attachment layout). Set `entity` so the dashboard caches
170
+ * a reusable row layout under that name.
171
+ */
172
+ declare function formatToolListResult<const K extends string, T extends Record<string, unknown>>(listKey: K, items: T[], options: FormatToolListResultOptions): WithReplyGuidance$1<Record<K, T[]>> & WithUiMeta$1<Record<K, T[]>> & WithUiHintField$1<Record<K, T[]>>;
173
+ /** Format a query-style result: shared meta fields + typed row array. */
174
+ declare function formatToolQueryResult<M extends Record<string, unknown>, T extends Record<string, unknown>>(meta: M, rows: T[], options: FormatToolQueryResultOptions): WithReplyGuidance$1<M & Record<string, T[]>> & WithUiMeta$1<M & Record<string, T[]>>;
175
+ declare function isAgentAdminErrorResult(result: unknown): result is {
176
+ ok: false;
177
+ message: string;
178
+ };
179
+
180
+ /** Matches TRL `<Chart type="…">` / shadcn chart variants. */
181
+ type ToolChartType = "line" | "bar" | "area";
182
+ /**
183
+ * Wide-format chart payload for dashboard TRL Chart.
184
+ *
185
+ * Each `series` row is one x-axis point. Numeric series are **columns**
186
+ * (not a long-format dimension column):
187
+ *
188
+ * ```ts
189
+ * {
190
+ * type: "line",
191
+ * xKey: "date",
192
+ * yKeys: ["NL", "BE"],
193
+ * series: [
194
+ * { date: "2025-07-21", NL: 100, BE: 40 },
195
+ * { date: "2025-07-22", NL: 120, BE: 50 },
196
+ * ],
197
+ * }
198
+ * ```
199
+ *
200
+ * Do **not** return long-format rows like
201
+ * `{ date, country: "NL", visitors: 100 }` — use
202
+ * {@link pivotLongFormatToWideChartSeries} first, or
203
+ * {@link formatToolChartResultFromLong}.
204
+ */
205
+ type ToolChartResultData = {
206
+ title?: string;
207
+ description?: string;
208
+ type: ToolChartType;
209
+ xKey: string;
210
+ yKeys: string[];
211
+ series: Array<Record<string, string | number>>;
212
+ };
213
+ type FormatToolChartResultOptions = {
214
+ replyGuidance: string;
215
+ /** Defaults to `metric_point`. */
216
+ entity?: ToolResultUiEntity;
217
+ /** Defaults to `true` so the chart card always presents. */
218
+ present?: boolean;
219
+ ui?: Omit<ToolResultUiMeta, "rowsPath" | "layout">;
220
+ };
221
+ type PivotLongFormatToWideChartSeriesArgs = {
222
+ rows: ReadonlyArray<Record<string, unknown>>;
223
+ xKey: string;
224
+ /** Dimension column to spread into series columns (e.g. `country`). */
225
+ seriesKey: string;
226
+ /** Numeric metric column (e.g. `visitors`). */
227
+ valueKey: string;
228
+ /** Cap number of series columns (default 20). */
229
+ maxSeries?: number;
230
+ };
231
+ type WithReplyGuidance<T> = T & {
232
+ replyGuidance: string;
233
+ };
234
+ type WithUiMeta<T> = T & {
235
+ ui: ToolResultUiMeta;
236
+ };
237
+ type WithUiHintField<T> = T & {
238
+ uiHint: ToolUiHint;
239
+ };
240
+ declare function inferToolChartType(xKey: string): ToolChartType;
241
+ /**
242
+ * Pivot long-format rows into wide chart series columns.
243
+ *
244
+ * Input: `{ date: "d1", country: "NL", visitors: 100 }`
245
+ * Output: `{ yKeys: ["NL","BE"], series: [{ date: "d1", NL: 100, BE: 40 }] }`
246
+ */
247
+ declare function pivotLongFormatToWideChartSeries(args: PivotLongFormatToWideChartSeriesArgs): {
248
+ yKeys: string[];
249
+ series: Array<Record<string, string | number>>;
250
+ };
251
+ /**
252
+ * Format a tool result for dashboard Chart rendering (shadcn / TRL `<Chart>`).
253
+ *
254
+ * Requires **wide** series rows. Sets `ui.layout: "chart"`, `rowsPath: "series"`,
255
+ * and top-level `type` / `xKey` / `yKeys` so the UI does not guess series columns.
256
+ */
257
+ declare function formatToolChartResult(chart: {
258
+ title?: string;
259
+ description?: string;
260
+ type?: ToolChartType;
261
+ xKey: string;
262
+ yKeys: readonly string[];
263
+ series: ReadonlyArray<Record<string, string | number>>;
264
+ }, options: FormatToolChartResultOptions): WithReplyGuidance<ToolChartResultData> & WithUiMeta<ToolChartResultData> & WithUiHintField<ToolChartResultData>;
265
+ /**
266
+ * Convenience: pivot long-format rows, then {@link formatToolChartResult}.
267
+ */
268
+ declare function formatToolChartResultFromLong(input: {
269
+ title?: string;
270
+ description?: string;
271
+ type?: ToolChartType;
272
+ xKey: string;
273
+ seriesKey: string;
274
+ valueKey: string;
275
+ rows: ReadonlyArray<Record<string, unknown>>;
276
+ maxSeries?: number;
277
+ }, options: FormatToolChartResultOptions): WithReplyGuidance<ToolChartResultData> & WithUiMeta<ToolChartResultData> & WithUiHintField<ToolChartResultData>;
278
+
279
+ /** Tenant-relative inbox deep link for a task (matches dashboard inbox hrefs). */
280
+ declare function buildTenantTaskUrl(tenantSlug: string, task: {
281
+ id: string;
282
+ type?: string | null;
283
+ app?: string | null;
284
+ }): string;
285
+ /** Tenant-relative group detail path (matches tenantGroup widget). */
286
+ declare function buildTenantGroupUrl(tenantSlug: string, slug: string): string;
287
+ declare const toolResultUiMetaSchema: z.ZodObject<{
288
+ present: z.ZodOptional<z.ZodBoolean>;
289
+ entity: z.ZodOptional<z.ZodString>;
290
+ rowsPath: z.ZodOptional<z.ZodString>;
291
+ layout: z.ZodOptional<z.ZodEnum<{
292
+ list: "list";
293
+ chart: "chart";
294
+ table: "table";
295
+ }>>;
296
+ }, z.core.$strict>;
297
+ /** Demo catalog product row (`search_products`). */
298
+ declare const productEntityRowSchema: z.ZodObject<{
299
+ id: z.ZodString;
300
+ name: z.ZodString;
301
+ price: z.ZodNumber;
302
+ currency: z.ZodString;
303
+ inStock: z.ZodBoolean;
304
+ url: z.ZodString;
305
+ }, z.core.$strip>;
306
+ /**
307
+ * One wide-format chart point for TRL/shadcn Chart.
308
+ * Include the x-axis field (`date` / `category` / `label`) plus one numeric
309
+ * field per series key listed in `yKeys` (e.g. `{ date, NL: 100, BE: 40 }`).
310
+ * Never use long-format rows like `{ date, country: "NL", visitors: 100 }`.
311
+ */
312
+ declare const metricPointEntityRowSchema: z.ZodObject<{
313
+ date: z.ZodOptional<z.ZodString>;
314
+ category: z.ZodOptional<z.ZodString>;
315
+ label: z.ZodOptional<z.ZodString>;
316
+ }, z.core.$catchall<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
317
+ /**
318
+ * Canonical chart tool `outputSchema` — matches dashboard TRL `<Chart>`.
319
+ *
320
+ * Attach on chart tools: `outputSchema: toolChartResultSchema`.
321
+ * Build values with `formatToolChartResult` / `formatToolChartResultFromLong`.
322
+ *
323
+ * Multi-series = multiple numeric columns on the same row, not a dimension column.
324
+ */
325
+ declare const toolChartResultSchema: z.ZodObject<{
326
+ title: z.ZodOptional<z.ZodString>;
327
+ description: z.ZodOptional<z.ZodString>;
328
+ type: z.ZodEnum<{
329
+ line: "line";
330
+ bar: "bar";
331
+ area: "area";
332
+ }>;
333
+ xKey: z.ZodString;
334
+ yKeys: z.ZodArray<z.ZodString>;
335
+ series: z.ZodArray<z.ZodObject<{
336
+ date: z.ZodOptional<z.ZodString>;
337
+ category: z.ZodOptional<z.ZodString>;
338
+ label: z.ZodOptional<z.ZodString>;
339
+ }, z.core.$catchall<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>>;
340
+ replyGuidance: z.ZodOptional<z.ZodString>;
341
+ ui: z.ZodOptional<z.ZodObject<{
342
+ present: z.ZodOptional<z.ZodBoolean>;
343
+ entity: z.ZodOptional<z.ZodString>;
344
+ rowsPath: z.ZodOptional<z.ZodString>;
345
+ layout: z.ZodOptional<z.ZodEnum<{
346
+ list: "list";
347
+ chart: "chart";
348
+ table: "table";
349
+ }>>;
350
+ }, z.core.$strict>>;
351
+ uiHint: z.ZodOptional<z.ZodEnum<{
352
+ list: "list";
353
+ chart: "chart";
354
+ table: "table";
355
+ }>>;
356
+ }, z.core.$strip>;
357
+ declare const memberEntityRowSchema: z.ZodObject<{
358
+ name: z.ZodString;
359
+ email: z.ZodString;
360
+ role: z.ZodString;
361
+ membershipKind: z.ZodString;
362
+ profilePictureUrl: z.ZodNullable<z.ZodString>;
363
+ }, z.core.$strip>;
364
+ declare const taskEntityRowSchema: z.ZodObject<{
365
+ id: z.ZodString;
366
+ name: z.ZodString;
367
+ status: z.ZodString;
368
+ type: z.ZodNullable<z.ZodString>;
369
+ description: z.ZodNullable<z.ZodString>;
370
+ validUntil: z.ZodNumber;
371
+ createdAt: z.ZodNumber;
372
+ url: z.ZodString;
373
+ threadPriority: z.ZodOptional<z.ZodNullable<z.ZodString>>;
374
+ }, z.core.$strip>;
375
+ declare const groupEntityRowSchema: z.ZodObject<{
376
+ name: z.ZodString;
377
+ slug: z.ZodString;
378
+ description: z.ZodNullable<z.ZodString>;
379
+ memberCount: z.ZodNullable<z.ZodNumber>;
380
+ url: z.ZodString;
381
+ }, z.core.$strip>;
382
+ declare const groupDetailEntitySchema: z.ZodObject<{
383
+ name: z.ZodString;
384
+ slug: z.ZodString;
385
+ description: z.ZodNullable<z.ZodString>;
386
+ url: z.ZodString;
387
+ members: z.ZodArray<z.ZodObject<{
388
+ name: z.ZodString;
389
+ email: z.ZodString;
390
+ profilePictureUrl: z.ZodNullable<z.ZodString>;
391
+ }, z.core.$strip>>;
392
+ }, z.core.$strip>;
393
+ /** Assign-task / status list row — always includes task inbox url. */
394
+ declare const statusEntityRowSchema: z.ZodObject<{
395
+ id: z.ZodString;
396
+ name: z.ZodString;
397
+ status: z.ZodString;
398
+ url: z.ZodString;
399
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
400
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
401
+ }, z.core.$strip>;
402
+ declare const agentAdminErrorResultSchema: z.ZodObject<{
403
+ ok: z.ZodLiteral<false>;
404
+ status: z.ZodOptional<z.ZodNumber>;
405
+ message: z.ZodString;
406
+ response: z.ZodOptional<z.ZodUnknown>;
407
+ }, z.core.$strip>;
408
+ declare const agentAdminMutationResultSchema: z.ZodObject<{
409
+ replyGuidance: z.ZodOptional<z.ZodString>;
410
+ ui: z.ZodOptional<z.ZodObject<{
411
+ present: z.ZodOptional<z.ZodBoolean>;
412
+ entity: z.ZodOptional<z.ZodString>;
413
+ rowsPath: z.ZodOptional<z.ZodString>;
414
+ layout: z.ZodOptional<z.ZodEnum<{
415
+ list: "list";
416
+ chart: "chart";
417
+ table: "table";
418
+ }>>;
419
+ }, z.core.$strict>>;
420
+ uiHint: z.ZodOptional<z.ZodEnum<{
421
+ list: "list";
422
+ chart: "chart";
423
+ table: "table";
424
+ }>>;
425
+ }, z.core.$loose>;
426
+ declare const searchProductsOutputSchema: z.ZodObject<{
427
+ items: z.ZodArray<z.ZodObject<{
428
+ id: z.ZodString;
429
+ name: z.ZodString;
430
+ price: z.ZodNumber;
431
+ currency: z.ZodString;
432
+ inStock: z.ZodBoolean;
433
+ url: z.ZodString;
434
+ }, z.core.$strip>>;
435
+ replyGuidance: z.ZodOptional<z.ZodString>;
436
+ ui: z.ZodOptional<z.ZodObject<{
437
+ present: z.ZodOptional<z.ZodBoolean>;
438
+ entity: z.ZodOptional<z.ZodString>;
439
+ rowsPath: z.ZodOptional<z.ZodString>;
440
+ layout: z.ZodOptional<z.ZodEnum<{
441
+ list: "list";
442
+ chart: "chart";
443
+ table: "table";
444
+ }>>;
445
+ }, z.core.$strict>>;
446
+ uiHint: z.ZodOptional<z.ZodEnum<{
447
+ list: "list";
448
+ chart: "chart";
449
+ table: "table";
450
+ }>>;
451
+ }, z.core.$strip>;
452
+ declare const generateRandomChartOutputSchema: z.ZodObject<{
453
+ description: z.ZodOptional<z.ZodString>;
454
+ type: z.ZodEnum<{
455
+ line: "line";
456
+ bar: "bar";
457
+ area: "area";
458
+ }>;
459
+ xKey: z.ZodString;
460
+ yKeys: z.ZodArray<z.ZodString>;
461
+ series: z.ZodArray<z.ZodObject<{
462
+ date: z.ZodOptional<z.ZodString>;
463
+ category: z.ZodOptional<z.ZodString>;
464
+ label: z.ZodOptional<z.ZodString>;
465
+ }, z.core.$catchall<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>>;
466
+ replyGuidance: z.ZodOptional<z.ZodString>;
467
+ ui: z.ZodOptional<z.ZodObject<{
468
+ present: z.ZodOptional<z.ZodBoolean>;
469
+ entity: z.ZodOptional<z.ZodString>;
470
+ rowsPath: z.ZodOptional<z.ZodString>;
471
+ layout: z.ZodOptional<z.ZodEnum<{
472
+ list: "list";
473
+ chart: "chart";
474
+ table: "table";
475
+ }>>;
476
+ }, z.core.$strict>>;
477
+ uiHint: z.ZodOptional<z.ZodEnum<{
478
+ list: "list";
479
+ chart: "chart";
480
+ table: "table";
481
+ }>>;
482
+ title: z.ZodString;
483
+ }, z.core.$strip>;
484
+ /** Demo generated image (`generate_image`) — bytes live in Convex `_storage`. */
485
+ declare const generateImageOutputSchema: z.ZodObject<{
486
+ prompt: z.ZodString;
487
+ mediaType: z.ZodString;
488
+ model: z.ZodString;
489
+ storageId: z.ZodString;
490
+ url: z.ZodString;
491
+ base64: z.ZodOptional<z.ZodString>;
492
+ replyGuidance: z.ZodOptional<z.ZodString>;
493
+ ui: z.ZodOptional<z.ZodObject<{
494
+ present: z.ZodOptional<z.ZodBoolean>;
495
+ entity: z.ZodOptional<z.ZodString>;
496
+ rowsPath: z.ZodOptional<z.ZodString>;
497
+ layout: z.ZodOptional<z.ZodEnum<{
498
+ list: "list";
499
+ chart: "chart";
500
+ table: "table";
501
+ }>>;
502
+ }, z.core.$strict>>;
503
+ uiHint: z.ZodOptional<z.ZodEnum<{
504
+ list: "list";
505
+ chart: "chart";
506
+ table: "table";
507
+ }>>;
508
+ }, z.core.$strip>;
509
+ declare const manageTeamMembersListOutputSchema: z.ZodObject<{
510
+ members: z.ZodArray<z.ZodObject<{
511
+ name: z.ZodString;
512
+ email: z.ZodString;
513
+ role: z.ZodString;
514
+ membershipKind: z.ZodString;
515
+ profilePictureUrl: z.ZodNullable<z.ZodString>;
516
+ }, z.core.$strip>>;
517
+ replyGuidance: z.ZodOptional<z.ZodString>;
518
+ ui: z.ZodOptional<z.ZodObject<{
519
+ present: z.ZodOptional<z.ZodBoolean>;
520
+ entity: z.ZodOptional<z.ZodString>;
521
+ rowsPath: z.ZodOptional<z.ZodString>;
522
+ layout: z.ZodOptional<z.ZodEnum<{
523
+ list: "list";
524
+ chart: "chart";
525
+ table: "table";
526
+ }>>;
527
+ }, z.core.$strict>>;
528
+ uiHint: z.ZodOptional<z.ZodEnum<{
529
+ list: "list";
530
+ chart: "chart";
531
+ table: "table";
532
+ }>>;
533
+ }, z.core.$strip>;
534
+ declare const manageTeamMembersDetailOutputSchema: z.ZodObject<{
535
+ name: z.ZodString;
536
+ email: z.ZodString;
537
+ role: z.ZodString;
538
+ membershipKind: z.ZodString;
539
+ profilePictureUrl: z.ZodNullable<z.ZodString>;
540
+ replyGuidance: z.ZodOptional<z.ZodString>;
541
+ ui: z.ZodOptional<z.ZodObject<{
542
+ present: z.ZodOptional<z.ZodBoolean>;
543
+ entity: z.ZodOptional<z.ZodString>;
544
+ rowsPath: z.ZodOptional<z.ZodString>;
545
+ layout: z.ZodOptional<z.ZodEnum<{
546
+ list: "list";
547
+ chart: "chart";
548
+ table: "table";
549
+ }>>;
550
+ }, z.core.$strict>>;
551
+ uiHint: z.ZodOptional<z.ZodEnum<{
552
+ list: "list";
553
+ chart: "chart";
554
+ table: "table";
555
+ }>>;
556
+ }, z.core.$strip>;
557
+ declare const manageTeamMembersOutputSchema: z.ZodUnion<readonly [z.ZodObject<{
558
+ members: z.ZodArray<z.ZodObject<{
559
+ name: z.ZodString;
560
+ email: z.ZodString;
561
+ role: z.ZodString;
562
+ membershipKind: z.ZodString;
563
+ profilePictureUrl: z.ZodNullable<z.ZodString>;
564
+ }, z.core.$strip>>;
565
+ replyGuidance: z.ZodOptional<z.ZodString>;
566
+ ui: z.ZodOptional<z.ZodObject<{
567
+ present: z.ZodOptional<z.ZodBoolean>;
568
+ entity: z.ZodOptional<z.ZodString>;
569
+ rowsPath: z.ZodOptional<z.ZodString>;
570
+ layout: z.ZodOptional<z.ZodEnum<{
571
+ list: "list";
572
+ chart: "chart";
573
+ table: "table";
574
+ }>>;
575
+ }, z.core.$strict>>;
576
+ uiHint: z.ZodOptional<z.ZodEnum<{
577
+ list: "list";
578
+ chart: "chart";
579
+ table: "table";
580
+ }>>;
581
+ }, z.core.$strip>, z.ZodObject<{
582
+ name: z.ZodString;
583
+ email: z.ZodString;
584
+ role: z.ZodString;
585
+ membershipKind: z.ZodString;
586
+ profilePictureUrl: z.ZodNullable<z.ZodString>;
587
+ replyGuidance: z.ZodOptional<z.ZodString>;
588
+ ui: z.ZodOptional<z.ZodObject<{
589
+ present: z.ZodOptional<z.ZodBoolean>;
590
+ entity: z.ZodOptional<z.ZodString>;
591
+ rowsPath: z.ZodOptional<z.ZodString>;
592
+ layout: z.ZodOptional<z.ZodEnum<{
593
+ list: "list";
594
+ chart: "chart";
595
+ table: "table";
596
+ }>>;
597
+ }, z.core.$strict>>;
598
+ uiHint: z.ZodOptional<z.ZodEnum<{
599
+ list: "list";
600
+ chart: "chart";
601
+ table: "table";
602
+ }>>;
603
+ }, z.core.$strip>, z.ZodObject<{
604
+ replyGuidance: z.ZodOptional<z.ZodString>;
605
+ ui: z.ZodOptional<z.ZodObject<{
606
+ present: z.ZodOptional<z.ZodBoolean>;
607
+ entity: z.ZodOptional<z.ZodString>;
608
+ rowsPath: z.ZodOptional<z.ZodString>;
609
+ layout: z.ZodOptional<z.ZodEnum<{
610
+ list: "list";
611
+ chart: "chart";
612
+ table: "table";
613
+ }>>;
614
+ }, z.core.$strict>>;
615
+ uiHint: z.ZodOptional<z.ZodEnum<{
616
+ list: "list";
617
+ chart: "chart";
618
+ table: "table";
619
+ }>>;
620
+ }, z.core.$loose>, z.ZodObject<{
621
+ ok: z.ZodLiteral<false>;
622
+ status: z.ZodOptional<z.ZodNumber>;
623
+ message: z.ZodString;
624
+ response: z.ZodOptional<z.ZodUnknown>;
625
+ }, z.core.$strip>]>;
626
+ declare const manageGroupsListOutputSchema: z.ZodObject<{
627
+ groups: z.ZodArray<z.ZodObject<{
628
+ name: z.ZodString;
629
+ slug: z.ZodString;
630
+ description: z.ZodNullable<z.ZodString>;
631
+ memberCount: z.ZodNullable<z.ZodNumber>;
632
+ url: z.ZodString;
633
+ }, z.core.$strip>>;
634
+ replyGuidance: z.ZodOptional<z.ZodString>;
635
+ ui: z.ZodOptional<z.ZodObject<{
636
+ present: z.ZodOptional<z.ZodBoolean>;
637
+ entity: z.ZodOptional<z.ZodString>;
638
+ rowsPath: z.ZodOptional<z.ZodString>;
639
+ layout: z.ZodOptional<z.ZodEnum<{
640
+ list: "list";
641
+ chart: "chart";
642
+ table: "table";
643
+ }>>;
644
+ }, z.core.$strict>>;
645
+ uiHint: z.ZodOptional<z.ZodEnum<{
646
+ list: "list";
647
+ chart: "chart";
648
+ table: "table";
649
+ }>>;
650
+ }, z.core.$strip>;
651
+ declare const manageGroupsDetailOutputSchema: z.ZodObject<{
652
+ name: z.ZodString;
653
+ slug: z.ZodString;
654
+ description: z.ZodNullable<z.ZodString>;
655
+ url: z.ZodString;
656
+ members: z.ZodArray<z.ZodObject<{
657
+ name: z.ZodString;
658
+ email: z.ZodString;
659
+ profilePictureUrl: z.ZodNullable<z.ZodString>;
660
+ }, z.core.$strip>>;
661
+ replyGuidance: z.ZodOptional<z.ZodString>;
662
+ ui: z.ZodOptional<z.ZodObject<{
663
+ present: z.ZodOptional<z.ZodBoolean>;
664
+ entity: z.ZodOptional<z.ZodString>;
665
+ rowsPath: z.ZodOptional<z.ZodString>;
666
+ layout: z.ZodOptional<z.ZodEnum<{
667
+ list: "list";
668
+ chart: "chart";
669
+ table: "table";
670
+ }>>;
671
+ }, z.core.$strict>>;
672
+ uiHint: z.ZodOptional<z.ZodEnum<{
673
+ list: "list";
674
+ chart: "chart";
675
+ table: "table";
676
+ }>>;
677
+ }, z.core.$strip>;
678
+ declare const manageGroupsSummaryOutputSchema: z.ZodObject<{
679
+ name: z.ZodString;
680
+ slug: z.ZodString;
681
+ description: z.ZodNullable<z.ZodString>;
682
+ memberCount: z.ZodNullable<z.ZodNumber>;
683
+ url: z.ZodString;
684
+ replyGuidance: z.ZodOptional<z.ZodString>;
685
+ ui: z.ZodOptional<z.ZodObject<{
686
+ present: z.ZodOptional<z.ZodBoolean>;
687
+ entity: z.ZodOptional<z.ZodString>;
688
+ rowsPath: z.ZodOptional<z.ZodString>;
689
+ layout: z.ZodOptional<z.ZodEnum<{
690
+ list: "list";
691
+ chart: "chart";
692
+ table: "table";
693
+ }>>;
694
+ }, z.core.$strict>>;
695
+ uiHint: z.ZodOptional<z.ZodEnum<{
696
+ list: "list";
697
+ chart: "chart";
698
+ table: "table";
699
+ }>>;
700
+ }, z.core.$strip>;
701
+ declare const manageGroupsOutputSchema: z.ZodUnion<readonly [z.ZodObject<{
702
+ groups: z.ZodArray<z.ZodObject<{
703
+ name: z.ZodString;
704
+ slug: z.ZodString;
705
+ description: z.ZodNullable<z.ZodString>;
706
+ memberCount: z.ZodNullable<z.ZodNumber>;
707
+ url: z.ZodString;
708
+ }, z.core.$strip>>;
709
+ replyGuidance: z.ZodOptional<z.ZodString>;
710
+ ui: z.ZodOptional<z.ZodObject<{
711
+ present: z.ZodOptional<z.ZodBoolean>;
712
+ entity: z.ZodOptional<z.ZodString>;
713
+ rowsPath: z.ZodOptional<z.ZodString>;
714
+ layout: z.ZodOptional<z.ZodEnum<{
715
+ list: "list";
716
+ chart: "chart";
717
+ table: "table";
718
+ }>>;
719
+ }, z.core.$strict>>;
720
+ uiHint: z.ZodOptional<z.ZodEnum<{
721
+ list: "list";
722
+ chart: "chart";
723
+ table: "table";
724
+ }>>;
725
+ }, z.core.$strip>, z.ZodObject<{
726
+ name: z.ZodString;
727
+ slug: z.ZodString;
728
+ description: z.ZodNullable<z.ZodString>;
729
+ url: z.ZodString;
730
+ members: z.ZodArray<z.ZodObject<{
731
+ name: z.ZodString;
732
+ email: z.ZodString;
733
+ profilePictureUrl: z.ZodNullable<z.ZodString>;
734
+ }, z.core.$strip>>;
735
+ replyGuidance: z.ZodOptional<z.ZodString>;
736
+ ui: z.ZodOptional<z.ZodObject<{
737
+ present: z.ZodOptional<z.ZodBoolean>;
738
+ entity: z.ZodOptional<z.ZodString>;
739
+ rowsPath: z.ZodOptional<z.ZodString>;
740
+ layout: z.ZodOptional<z.ZodEnum<{
741
+ list: "list";
742
+ chart: "chart";
743
+ table: "table";
744
+ }>>;
745
+ }, z.core.$strict>>;
746
+ uiHint: z.ZodOptional<z.ZodEnum<{
747
+ list: "list";
748
+ chart: "chart";
749
+ table: "table";
750
+ }>>;
751
+ }, z.core.$strip>, z.ZodObject<{
752
+ name: z.ZodString;
753
+ slug: z.ZodString;
754
+ description: z.ZodNullable<z.ZodString>;
755
+ memberCount: z.ZodNullable<z.ZodNumber>;
756
+ url: z.ZodString;
757
+ replyGuidance: z.ZodOptional<z.ZodString>;
758
+ ui: z.ZodOptional<z.ZodObject<{
759
+ present: z.ZodOptional<z.ZodBoolean>;
760
+ entity: z.ZodOptional<z.ZodString>;
761
+ rowsPath: z.ZodOptional<z.ZodString>;
762
+ layout: z.ZodOptional<z.ZodEnum<{
763
+ list: "list";
764
+ chart: "chart";
765
+ table: "table";
766
+ }>>;
767
+ }, z.core.$strict>>;
768
+ uiHint: z.ZodOptional<z.ZodEnum<{
769
+ list: "list";
770
+ chart: "chart";
771
+ table: "table";
772
+ }>>;
773
+ }, z.core.$strip>, z.ZodObject<{
774
+ replyGuidance: z.ZodOptional<z.ZodString>;
775
+ ui: z.ZodOptional<z.ZodObject<{
776
+ present: z.ZodOptional<z.ZodBoolean>;
777
+ entity: z.ZodOptional<z.ZodString>;
778
+ rowsPath: z.ZodOptional<z.ZodString>;
779
+ layout: z.ZodOptional<z.ZodEnum<{
780
+ list: "list";
781
+ chart: "chart";
782
+ table: "table";
783
+ }>>;
784
+ }, z.core.$strict>>;
785
+ uiHint: z.ZodOptional<z.ZodEnum<{
786
+ list: "list";
787
+ chart: "chart";
788
+ table: "table";
789
+ }>>;
790
+ }, z.core.$loose>, z.ZodObject<{
791
+ ok: z.ZodLiteral<false>;
792
+ status: z.ZodOptional<z.ZodNumber>;
793
+ message: z.ZodString;
794
+ response: z.ZodOptional<z.ZodUnknown>;
795
+ }, z.core.$strip>]>;
796
+ declare const queryTasksListOutputSchema: z.ZodObject<{
797
+ items: z.ZodArray<z.ZodObject<{
798
+ id: z.ZodString;
799
+ name: z.ZodString;
800
+ status: z.ZodString;
801
+ type: z.ZodNullable<z.ZodString>;
802
+ description: z.ZodNullable<z.ZodString>;
803
+ validUntil: z.ZodNumber;
804
+ createdAt: z.ZodNumber;
805
+ url: z.ZodString;
806
+ threadPriority: z.ZodOptional<z.ZodNullable<z.ZodString>>;
807
+ }, z.core.$strip>>;
808
+ nextCursor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
809
+ replyGuidance: z.ZodOptional<z.ZodString>;
810
+ ui: z.ZodOptional<z.ZodObject<{
811
+ present: z.ZodOptional<z.ZodBoolean>;
812
+ entity: z.ZodOptional<z.ZodString>;
813
+ rowsPath: z.ZodOptional<z.ZodString>;
814
+ layout: z.ZodOptional<z.ZodEnum<{
815
+ list: "list";
816
+ chart: "chart";
817
+ table: "table";
818
+ }>>;
819
+ }, z.core.$strict>>;
820
+ uiHint: z.ZodOptional<z.ZodEnum<{
821
+ list: "list";
822
+ chart: "chart";
823
+ table: "table";
824
+ }>>;
825
+ }, z.core.$strip>;
826
+ declare const queryTasksDetailOutputSchema: z.ZodObject<{
827
+ id: z.ZodNullable<z.ZodString>;
828
+ status: z.ZodNullable<z.ZodString>;
829
+ type: z.ZodNullable<z.ZodString>;
830
+ name: z.ZodNullable<z.ZodString>;
831
+ description: z.ZodNullable<z.ZodString>;
832
+ validUntil: z.ZodNullable<z.ZodNumber>;
833
+ createdAt: z.ZodNullable<z.ZodNumber>;
834
+ url: z.ZodNullable<z.ZodString>;
835
+ replyGuidance: z.ZodOptional<z.ZodString>;
836
+ ui: z.ZodOptional<z.ZodObject<{
837
+ present: z.ZodOptional<z.ZodBoolean>;
838
+ entity: z.ZodOptional<z.ZodString>;
839
+ rowsPath: z.ZodOptional<z.ZodString>;
840
+ layout: z.ZodOptional<z.ZodEnum<{
841
+ list: "list";
842
+ chart: "chart";
843
+ table: "table";
844
+ }>>;
845
+ }, z.core.$strict>>;
846
+ uiHint: z.ZodOptional<z.ZodEnum<{
847
+ list: "list";
848
+ chart: "chart";
849
+ table: "table";
850
+ }>>;
851
+ }, z.core.$strip>;
852
+ declare const queryTasksOutputSchema: z.ZodUnion<readonly [z.ZodObject<{
853
+ items: z.ZodArray<z.ZodObject<{
854
+ id: z.ZodString;
855
+ name: z.ZodString;
856
+ status: z.ZodString;
857
+ type: z.ZodNullable<z.ZodString>;
858
+ description: z.ZodNullable<z.ZodString>;
859
+ validUntil: z.ZodNumber;
860
+ createdAt: z.ZodNumber;
861
+ url: z.ZodString;
862
+ threadPriority: z.ZodOptional<z.ZodNullable<z.ZodString>>;
863
+ }, z.core.$strip>>;
864
+ nextCursor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
865
+ replyGuidance: z.ZodOptional<z.ZodString>;
866
+ ui: z.ZodOptional<z.ZodObject<{
867
+ present: z.ZodOptional<z.ZodBoolean>;
868
+ entity: z.ZodOptional<z.ZodString>;
869
+ rowsPath: z.ZodOptional<z.ZodString>;
870
+ layout: z.ZodOptional<z.ZodEnum<{
871
+ list: "list";
872
+ chart: "chart";
873
+ table: "table";
874
+ }>>;
875
+ }, z.core.$strict>>;
876
+ uiHint: z.ZodOptional<z.ZodEnum<{
877
+ list: "list";
878
+ chart: "chart";
879
+ table: "table";
880
+ }>>;
881
+ }, z.core.$strip>, z.ZodObject<{
882
+ id: z.ZodNullable<z.ZodString>;
883
+ status: z.ZodNullable<z.ZodString>;
884
+ type: z.ZodNullable<z.ZodString>;
885
+ name: z.ZodNullable<z.ZodString>;
886
+ description: z.ZodNullable<z.ZodString>;
887
+ validUntil: z.ZodNullable<z.ZodNumber>;
888
+ createdAt: z.ZodNullable<z.ZodNumber>;
889
+ url: z.ZodNullable<z.ZodString>;
890
+ replyGuidance: z.ZodOptional<z.ZodString>;
891
+ ui: z.ZodOptional<z.ZodObject<{
892
+ present: z.ZodOptional<z.ZodBoolean>;
893
+ entity: z.ZodOptional<z.ZodString>;
894
+ rowsPath: z.ZodOptional<z.ZodString>;
895
+ layout: z.ZodOptional<z.ZodEnum<{
896
+ list: "list";
897
+ chart: "chart";
898
+ table: "table";
899
+ }>>;
900
+ }, z.core.$strict>>;
901
+ uiHint: z.ZodOptional<z.ZodEnum<{
902
+ list: "list";
903
+ chart: "chart";
904
+ table: "table";
905
+ }>>;
906
+ }, z.core.$strip>, z.ZodObject<{
907
+ ok: z.ZodLiteral<false>;
908
+ status: z.ZodOptional<z.ZodNumber>;
909
+ message: z.ZodString;
910
+ response: z.ZodOptional<z.ZodUnknown>;
911
+ }, z.core.$strip>]>;
912
+ declare const assignTasksOutputSchema: z.ZodUnion<readonly [z.ZodObject<{
913
+ results: z.ZodArray<z.ZodObject<{
914
+ id: z.ZodString;
915
+ name: z.ZodString;
916
+ status: z.ZodString;
917
+ url: z.ZodString;
918
+ type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
919
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
920
+ }, z.core.$strip>>;
921
+ replyGuidance: z.ZodOptional<z.ZodString>;
922
+ ui: z.ZodOptional<z.ZodObject<{
923
+ present: z.ZodOptional<z.ZodBoolean>;
924
+ entity: z.ZodOptional<z.ZodString>;
925
+ rowsPath: z.ZodOptional<z.ZodString>;
926
+ layout: z.ZodOptional<z.ZodEnum<{
927
+ list: "list";
928
+ chart: "chart";
929
+ table: "table";
930
+ }>>;
931
+ }, z.core.$strict>>;
932
+ uiHint: z.ZodOptional<z.ZodEnum<{
933
+ list: "list";
934
+ chart: "chart";
935
+ table: "table";
936
+ }>>;
937
+ }, z.core.$strip>, z.ZodObject<{
938
+ ok: z.ZodLiteral<false>;
939
+ status: z.ZodOptional<z.ZodNumber>;
940
+ message: z.ZodString;
941
+ response: z.ZodOptional<z.ZodUnknown>;
942
+ }, z.core.$strip>]>;
943
+ declare const workspaceUsageEntitySchema: z.ZodObject<{
944
+ workspace: z.ZodString;
945
+ plan: z.ZodString;
946
+ planType: z.ZodString;
947
+ trialState: z.ZodString;
948
+ daysRemaining: z.ZodNullable<z.ZodNumber>;
949
+ isPaidPro: z.ZodBoolean;
950
+ subscriptionStatus: z.ZodString;
951
+ tasksToday: z.ZodString;
952
+ tasksResetAt: z.ZodString;
953
+ openTasks: z.ZodNumber;
954
+ totalTasks: z.ZodNumber;
955
+ seats: z.ZodString;
956
+ groups: z.ZodString;
957
+ apiKeys: z.ZodString;
958
+ rateLimitPerSecond: z.ZodNumber;
959
+ }, z.core.$strip>;
960
+ declare const getWorkspaceUsageOutputSchema: z.ZodUnion<readonly [z.ZodObject<{
961
+ usage: z.ZodObject<{
962
+ workspace: z.ZodString;
963
+ plan: z.ZodString;
964
+ planType: z.ZodString;
965
+ trialState: z.ZodString;
966
+ daysRemaining: z.ZodNullable<z.ZodNumber>;
967
+ isPaidPro: z.ZodBoolean;
968
+ subscriptionStatus: z.ZodString;
969
+ tasksToday: z.ZodString;
970
+ tasksResetAt: z.ZodString;
971
+ openTasks: z.ZodNumber;
972
+ totalTasks: z.ZodNumber;
973
+ seats: z.ZodString;
974
+ groups: z.ZodString;
975
+ apiKeys: z.ZodString;
976
+ rateLimitPerSecond: z.ZodNumber;
977
+ }, z.core.$strip>;
978
+ replyGuidance: z.ZodOptional<z.ZodString>;
979
+ ui: z.ZodOptional<z.ZodObject<{
980
+ present: z.ZodOptional<z.ZodBoolean>;
981
+ entity: z.ZodOptional<z.ZodString>;
982
+ rowsPath: z.ZodOptional<z.ZodString>;
983
+ layout: z.ZodOptional<z.ZodEnum<{
984
+ list: "list";
985
+ chart: "chart";
986
+ table: "table";
987
+ }>>;
988
+ }, z.core.$strict>>;
989
+ uiHint: z.ZodOptional<z.ZodEnum<{
990
+ list: "list";
991
+ chart: "chart";
992
+ table: "table";
993
+ }>>;
994
+ }, z.core.$strip>, z.ZodObject<{
995
+ ok: z.ZodLiteral<false>;
996
+ status: z.ZodOptional<z.ZodNumber>;
997
+ message: z.ZodString;
998
+ response: z.ZodOptional<z.ZodUnknown>;
999
+ }, z.core.$strip>]>;
1000
+ type ProductEntityRow = z.infer<typeof productEntityRowSchema>;
1001
+ type MetricPointEntityRow = z.infer<typeof metricPointEntityRowSchema>;
1002
+ type ToolChartResult = z.infer<typeof toolChartResultSchema>;
1003
+ type MemberEntityRow = z.infer<typeof memberEntityRowSchema>;
1004
+ type TaskEntityRow = z.infer<typeof taskEntityRowSchema>;
1005
+ type GroupEntityRow = z.infer<typeof groupEntityRowSchema>;
1006
+ type StatusEntityRow = z.infer<typeof statusEntityRowSchema>;
1007
+
1008
+ declare const robotRockWebhookPayloadBodySchema: z.ZodObject<{
1009
+ taskId: z.ZodString;
1010
+ action: z.ZodObject<{
1011
+ id: z.ZodString;
1012
+ title: z.ZodString;
1013
+ data: z.ZodUnknown;
1014
+ }, z.core.$strip>;
1015
+ handledBy: z.ZodOptional<z.ZodString>;
1016
+ handledAt: z.ZodString;
1017
+ handlerType: z.ZodString;
1018
+ }, z.core.$strip>;
1019
+ type RobotRockWebhookPayload = z.infer<typeof robotRockWebhookPayloadBodySchema> & {
1020
+ headers: Record<string, string>;
1021
+ };
1022
+ type RobotRockWebhookErrorCode = "MISSING_WEBHOOK_SECRET" | "MISSING_SIGNATURE" | "INVALID_SIGNATURE" | "INVALID_JSON" | "INVALID_PAYLOAD";
1023
+ declare class RobotRockWebhookError extends Error {
1024
+ readonly code: RobotRockWebhookErrorCode;
1025
+ readonly details?: unknown | undefined;
1026
+ constructor(message: string, code: RobotRockWebhookErrorCode, details?: unknown | undefined);
1027
+ }
1028
+ interface VerifyRobotRockWebhookOptions {
1029
+ /**
1030
+ * Override shared secret (defaults to ROBOTROCK_WEBHOOK_SECRET).
1031
+ * Keep undefined in production to enforce the canonical env var.
1032
+ */
1033
+ secret?: string;
1034
+ /**
1035
+ * Resolve the tenant signing secret by public task id (hosted MCP uses Convex).
1036
+ * Used when secret is not passed explicitly.
1037
+ */
1038
+ resolveSecret?: (taskId: string) => Promise<string | undefined>;
1039
+ /** Signature header to read. @default "x-robotrock-signature" */
1040
+ signatureHeader?: string;
1041
+ }
1042
+ /**
1043
+ * Verify a RobotRock webhook request and return a validated payload.
1044
+ * Throws RobotRockWebhookError with machine-readable `code` for audit logging.
1045
+ */
1046
+ declare function verifyRobotRockWebhook(request: Request, options?: VerifyRobotRockWebhookOptions): Promise<RobotRockWebhookPayload>;
1047
+
1048
+ /** Build the assistant resume prompt when an inbox task linked to a chat is handled. */
1049
+ declare function buildTaskHandledResumeMessage(payload: RobotRockWebhookPayload): string;
1050
+
1051
+ /** Hook slug advertised in GET /eve/v1/info for RobotRock-ready auto-detection. */
1052
+ declare const ROBOTROCK_READY_HOOK_SLUG = "robotrock-ready";
1053
+
1054
+ export { formatToolObjectResult as $, type ProductEntityRow as A, type ToolChartResult as B, type ChatToolAuditInput as C, DEFAULT_TOOL_DISPLAY_LABELS as D, EVE_INPUT_OTHER_CHOICE_ID as E, type FormatToolChartResultOptions as F, type GroupEntityRow as G, type ToolChartResultData as H, type ToolChartType as I, type ToolDisplayResultOptions as J, agentAdminErrorResultSchema as K, agentAdminMutationResultSchema as L, type MemberEntityRow as M, assignTasksOutputSchema as N, buildChatToolAuditPayload as O, type PivotLongFormatToWideChartSeriesArgs as P, buildEveInputAuditSubmissionData as Q, ROBOTROCK_READY_HOOK_SLUG as R, type StatusEntityRow as S, type TaskEntityRow as T, buildTenantGroupUrl as U, type VerifyRobotRockWebhookOptions as V, buildTenantTaskUrl as W, eveInputResponseToActionSubmission as X, formatToolChartResult as Y, formatToolChartResultFromLong as Z, formatToolListResult as _, EVE_INPUT_OTHER_CHOICE_LABEL as a, formatToolQueryResult as a0, generateImageOutputSchema as a1, generateRandomChartOutputSchema as a2, getWorkspaceUsageOutputSchema as a3, groupDetailEntitySchema as a4, groupEntityRowSchema as a5, inferToolChartType as a6, isAgentAdminErrorResult as a7, isEveApprovalInputRequest as a8, manageGroupsDetailOutputSchema as a9, manageGroupsListOutputSchema as aa, manageGroupsOutputSchema as ab, manageGroupsSummaryOutputSchema as ac, manageTeamMembersDetailOutputSchema as ad, manageTeamMembersListOutputSchema as ae, manageTeamMembersOutputSchema as af, memberEntityRowSchema as ag, metricPointEntityRowSchema as ah, parseEveAskQuestionToolOutput as ai, pivotLongFormatToWideChartSeries as aj, productEntityRowSchema as ak, queryTasksDetailOutputSchema as al, queryTasksListOutputSchema as am, queryTasksOutputSchema as an, resolveEveFreeformTextToInputResponse as ao, sanitizeToolAuditInput as ap, searchProductsOutputSchema as aq, shouldAuditToolExecution as ar, statusEntityRowSchema as as, taskEntityRowSchema as at, toolChartResultSchema as au, toolDisplayResult as av, toolResultUiMetaSchema as aw, workspaceUsageEntitySchema as ax, EVE_INPUT_SUBMIT_ACTION_ID as b, type EveInputOption as c, type EveInputRequest as d, type EveInputRequestDisplay as e, type EveInputResponse as f, RobotRockWebhookError as g, type RobotRockWebhookErrorCode as h, type RobotRockWebhookPayload as i, buildTaskHandledResumeMessage as j, eveInputRequestTaskType as k, eveInputRequestToActions as l, formatEveApprovalTitle as m, getToolDisplayLabel as n, normalizeEveSelectFormData as o, type ChatToolAuditPayload as p, type EveInputActionSubmission as q, resolveEveInputDisplay as r, setToolDisplayLabelOverrides as s, taskHandledToEveInputResponse as t, type EveInputAuditContext as u, verifyRobotRockWebhook as v, type FormatToolListResultOptions as w, type FormatToolObjectResultOptions as x, type FormatToolQueryResultOptions as y, type MetricPointEntityRow as z };