robotrock 0.9.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/ai/index.d.ts +18 -7
  2. package/dist/ai/index.js +852 -115
  3. package/dist/ai/index.js.map +1 -1
  4. package/dist/ai/trigger.d.ts +4 -3
  5. package/dist/ai/trigger.js +810 -115
  6. package/dist/ai/trigger.js.map +1 -1
  7. package/dist/ai/workflow.d.ts +15 -4
  8. package/dist/ai/workflow.js +729 -115
  9. package/dist/ai/workflow.js.map +1 -1
  10. package/dist/client-XTnFHGFE.d.ts +248 -0
  11. package/dist/eve/agent/index.d.ts +188 -0
  12. package/dist/eve/agent/index.js +2322 -0
  13. package/dist/eve/agent/index.js.map +1 -0
  14. package/dist/eve/index.d.ts +5 -0
  15. package/dist/eve/index.js +446 -0
  16. package/dist/eve/index.js.map +1 -0
  17. package/dist/eve/tools/identity/index.d.ts +6 -0
  18. package/dist/eve/tools/identity/index.js +144 -0
  19. package/dist/eve/tools/identity/index.js.map +1 -0
  20. package/dist/eve/tools/identity/my-access.d.ts +58 -0
  21. package/dist/eve/tools/identity/my-access.js +106 -0
  22. package/dist/eve/tools/identity/my-access.js.map +1 -0
  23. package/dist/eve/tools/identity/whoami.d.ts +45 -0
  24. package/dist/eve/tools/identity/whoami.js +101 -0
  25. package/dist/eve/tools/identity/whoami.js.map +1 -0
  26. package/dist/eve/tools/inbox/create-task.d.ts +113 -0
  27. package/dist/eve/tools/inbox/create-task.js +1557 -0
  28. package/dist/eve/tools/inbox/create-task.js.map +1 -0
  29. package/dist/eve/tools/inbox/index.d.ts +5 -0
  30. package/dist/eve/tools/inbox/index.js +1557 -0
  31. package/dist/eve/tools/inbox/index.js.map +1 -0
  32. package/dist/eve/tools/index.d.ts +17 -0
  33. package/dist/eve/tools/index.js +1654 -0
  34. package/dist/eve/tools/index.js.map +1 -0
  35. package/dist/index-BL9qKHA8.d.ts +141 -0
  36. package/dist/index.d.ts +12 -44
  37. package/dist/index.js +793 -97
  38. package/dist/index.js.map +1 -1
  39. package/dist/schemas/index.d.ts +11 -1
  40. package/dist/schemas/index.js +126 -8
  41. package/dist/schemas/index.js.map +1 -1
  42. package/dist/tenant-5YKDrdC-.d.ts +23 -0
  43. package/dist/{tool-approval-bridge-G765kMJR.d.ts → tool-approval-bridge-C4bTm8vu.d.ts} +93 -2
  44. package/dist/trigger/index.d.ts +2 -1
  45. package/dist/trigger/index.js +495 -87
  46. package/dist/trigger/index.js.map +1 -1
  47. package/dist/{trigger-D0shjqk0.d.ts → trigger-Dn0DFiyU.d.ts} +64 -3
  48. package/dist/workflow/index.d.ts +2 -1
  49. package/dist/workflow/index.js +496 -88
  50. package/dist/workflow/index.js.map +1 -1
  51. package/package.json +44 -7
  52. package/dist/client-Cy7YLxms.d.ts +0 -145
@@ -0,0 +1,248 @@
1
+ import { TaskContextInput, AssignToInput as AssignToInput$1, TaskPriority, ThreadUpdateStatus, TaskResponse, Task, ThreadUpdate, TaskContextFormatVersion, DiscriminatedApprovalResult } from './schemas/index.js';
2
+ import { AssignToInput, AgentChatSeedMessage, AgentChatStageHitlBody, AgentChatAuditInputBody, AgentChatLinkTaskBody } from '@robotrock/core';
3
+
4
+ type RobotRockAuthConfig = {
5
+ kind: "apiKey";
6
+ apiKey: string;
7
+ } | {
8
+ kind: "agentService";
9
+ token: string;
10
+ tenantSlug: string;
11
+ connectionId: string;
12
+ };
13
+
14
+ /** A chat created via {@link ChatsApi.create}. */
15
+ type CreatedChat = {
16
+ chatId: string;
17
+ sessionId: string;
18
+ userId?: string;
19
+ agentIdentifier: string;
20
+ deepLink: string;
21
+ };
22
+ type CreateChatResult = {
23
+ tenantSlug: string;
24
+ chats: CreatedChat[];
25
+ };
26
+ type CreateChatInput = {
27
+ /** Agent to run the chat. Required unless `parentChatId` is provided. */
28
+ agentIdentifier?: string;
29
+ /** Spawn a chat from an existing chat; inherits its agent/app/owner and links audit. */
30
+ parentChatId?: string;
31
+ /** Trigger connection id to run the chat under (defaults to the tenant's). */
32
+ connectionId?: string;
33
+ /** Inbox app bucket. Overrides the client `app` when set. */
34
+ app?: string;
35
+ /** Assign to tenant users (email) and/or groups (slug). Narrows inbox visibility. */
36
+ assignTo?: AssignToInput;
37
+ /** Chat title shown in the inbox. */
38
+ title: string;
39
+ /** Seed messages to preload the conversation. Defaults to a welcome message. */
40
+ messages?: AgentChatSeedMessage[];
41
+ /** How the chat was created (statistics/audit). @default "api" */
42
+ source?: string;
43
+ };
44
+ type CloseChatOptions = {
45
+ /** Optional human-readable reason recorded on the audit trail. */
46
+ reason?: string;
47
+ };
48
+ type LogChatInputSubmissionInput = AgentChatAuditInputBody;
49
+ type StageChatHitlRequestsInput = AgentChatStageHitlBody;
50
+ type LinkChatTaskInput = AgentChatLinkTaskBody;
51
+ type StagedChatHitlRequest = StageChatHitlRequestsInput["requests"][number];
52
+ interface ChatsApi {
53
+ /** Create one or more agent chats and assign them (task-style). */
54
+ create(input: CreateChatInput): Promise<CreateChatResult>;
55
+ /** Close (archive) a chat by its public chatId — e.g. when an agent is done. */
56
+ close(chatId: string, options?: CloseChatOptions): Promise<void>;
57
+ /** Persist pending Eve HITL requests on the chat for durable audit logging. */
58
+ stageHitlRequests(input: StageChatHitlRequestsInput): Promise<void>;
59
+ /** Read pending Eve HITL requests staged on the chat. */
60
+ getStagedHitlRequests(eveSessionId: string): Promise<StagedChatHitlRequest[]>;
61
+ /** Log an Eve HITL choice to the RobotRock chat audit trail. */
62
+ logInputSubmission(input: LogChatInputSubmissionInput): Promise<void>;
63
+ /** Link an inbox task to the originating Eve chat session. */
64
+ linkTask(input: LinkChatTaskInput): Promise<void>;
65
+ }
66
+ /**
67
+ * Build the `client.chats` namespace. Mirrors the `client.tasks` surface for the
68
+ * long-lived chat resource, so a single client creates both tasks and chats.
69
+ */
70
+ declare function createChatsApi(config: {
71
+ baseUrl: string;
72
+ auth: RobotRockAuthConfig;
73
+ app?: string;
74
+ }): ChatsApi;
75
+
76
+ type RobotRockWebhookConfig = {
77
+ url: string;
78
+ headers?: Record<string, string>;
79
+ };
80
+ interface RobotRockPollingOptions {
81
+ /** Poll interval when no webhook is configured (ms). @default 2000 */
82
+ intervalMs?: number;
83
+ /**
84
+ * Max time to poll when no webhook is configured (ms).
85
+ * Polling also stops when the task's `validUntil` passes, whichever is sooner.
86
+ * @default 86400000 (24h)
87
+ */
88
+ timeoutMs?: number;
89
+ }
90
+ /** Advanced client settings rarely changed by integrators. */
91
+ type RobotRockAdvancedConfig = {
92
+ /** Task context wire format version sent on every request. @default 2 */
93
+ contextVersion?: TaskContextFormatVersion;
94
+ };
95
+ type RobotRockClientBaseConfig = {
96
+ /** Optional override for API key. Falls back to ROBOTROCK_API_KEY when agentService is unset. */
97
+ apiKey?: string;
98
+ /** Hosted-agent service auth (mutually exclusive with apiKey). */
99
+ agentService?: {
100
+ token: string;
101
+ tenantSlug: string;
102
+ connectionId: string;
103
+ };
104
+ /**
105
+ * Base URL for the RobotRock API
106
+ * @default "https://api.robotrock.io/v1"
107
+ */
108
+ baseUrl?: string;
109
+ /**
110
+ * Default inbox app bucket for every task from this client.
111
+ * When omitted, the API uses your API key name.
112
+ */
113
+ app?: string;
114
+ /**
115
+ * Agent release version (semver, git SHA, deploy tag).
116
+ * Defaults to `AGENT_VERSION` or `ROBOTROCK_AGENT_VERSION` from env when omitted.
117
+ */
118
+ version?: string;
119
+ /** Advanced settings (context wire format, etc.). */
120
+ advanced?: RobotRockAdvancedConfig;
121
+ };
122
+ /** Client config with a webhook (mutually exclusive with `polling`). */
123
+ type RobotRockWebhookClientConfig = RobotRockClientBaseConfig & {
124
+ webhook: RobotRockWebhookConfig;
125
+ polling?: never;
126
+ };
127
+ /** Client config without a webhook; optional `polling` controls the wait loop. */
128
+ type RobotRockPollingClientConfig = RobotRockClientBaseConfig & {
129
+ webhook?: never;
130
+ polling?: RobotRockPollingOptions;
131
+ };
132
+ type RobotRockConfig = RobotRockWebhookClientConfig | RobotRockPollingClientConfig;
133
+ type SendToHumanActionInput = Omit<TaskContextInput["actions"][number], "handlers">;
134
+ type SendToHumanValidUntil = Date | string;
135
+ type SendToHumanInput<A extends readonly SendToHumanActionInput[] = readonly SendToHumanActionInput[]> = Omit<TaskContextInput, "app" | "actions" | "contextVersion" | "version" | "validUntil"> & {
136
+ actions: A;
137
+ /** Task deadline; serialized to an ISO 8601 string on the wire. */
138
+ validUntil?: SendToHumanValidUntil;
139
+ /** Optional idempotency key to prevent duplicate tasks */
140
+ idempotencyKey?: string;
141
+ /** Assign to tenant users (email) and/or groups (slug). Narrows inbox visibility. */
142
+ assignTo?: AssignToInput$1;
143
+ /**
144
+ * Groups related tasks together in the inbox. Omit to let the server generate
145
+ * one (returned as `task.threadId`) and reuse it on later tasks in the thread.
146
+ */
147
+ threadId?: string;
148
+ /**
149
+ * Optional thread priority. When set, applies to the whole thread and
150
+ * overwrites any previous priority. Omit on later tasks to leave unchanged.
151
+ */
152
+ priority?: TaskPriority;
153
+ /**
154
+ * Optional initial status update logged against the task's thread. Shows in
155
+ * the inbox status bar and the thread update log.
156
+ */
157
+ update?: {
158
+ /** A short status update (1-2 sentences). */
159
+ message: string;
160
+ /** Lifecycle status for the icon/color in the status bar. @default "info" */
161
+ status?: ThreadUpdateStatus;
162
+ };
163
+ /**
164
+ * Agent release version override. When omitted, uses the client `version`.
165
+ * Used for statistics and feedback analysis.
166
+ */
167
+ version?: string;
168
+ };
169
+ type SendToHumanWithAppInput<A extends readonly SendToHumanActionInput[] = readonly SendToHumanActionInput[]> = (SendToHumanInput<A> | Readonly<SendToHumanInput<A>>) & {
170
+ /** Inbox app bucket. Overrides the client `app` when set. */
171
+ app?: string;
172
+ };
173
+ type SendUpdateInput = {
174
+ /** The thread to log the update against (from `task.threadId`). */
175
+ threadId: string;
176
+ /** A short status update (1-2 sentences). */
177
+ message: string;
178
+ /** Lifecycle status for the icon/color in the status bar. @default "info" */
179
+ status?: ThreadUpdateStatus;
180
+ };
181
+ type SendToHumanResult<A extends readonly SendToHumanActionInput[] = readonly SendToHumanActionInput[]> = {
182
+ mode: "created";
183
+ task: TaskResponse["task"];
184
+ } | ({
185
+ mode: "handled";
186
+ task: TaskResponse["task"];
187
+ } & DiscriminatedApprovalResult<A>);
188
+
189
+ /** Task CRUD surface, exposed as `client.tasks`. */
190
+ interface TasksApi {
191
+ /** Create a task via POST /v1 without waiting for a human response. */
192
+ create<const A extends readonly SendToHumanActionInput[]>(task: SendToHumanWithAppInput<A>): Promise<TaskResponse["task"]>;
193
+ /** Get a task by public task id. */
194
+ get(taskId: string): Promise<Task | null>;
195
+ /** Cancel a task by public task id. */
196
+ cancel(taskId: string): Promise<void>;
197
+ /** Log a status update against a thread. */
198
+ sendUpdate(input: SendUpdateInput): Promise<ThreadUpdate>;
199
+ }
200
+ /**
201
+ * RobotRock API client for creating and querying human-in-the-loop tasks and
202
+ * chats. CRUD lives under `client.tasks` and `client.chats`; the headline
203
+ * `sendToHuman` verb stays top-level.
204
+ */
205
+ declare class RobotRock {
206
+ private readonly auth;
207
+ private readonly baseUrl;
208
+ private readonly app?;
209
+ private readonly agentVersion?;
210
+ private readonly contextVersion;
211
+ private readonly webhook?;
212
+ private readonly polling;
213
+ /** Task CRUD: `create`, `get`, `cancel`, `sendUpdate`. */
214
+ readonly tasks: TasksApi;
215
+ /** Chat CRUD: `create`, `close`. */
216
+ readonly chats: ChatsApi;
217
+ constructor(config: RobotRockConfig);
218
+ private authHeaders;
219
+ private createTaskRequest;
220
+ sendToHuman<const A extends readonly SendToHumanActionInput[]>(task: SendToHumanWithAppInput<A>): Promise<SendToHumanResult<A>>;
221
+ /**
222
+ * Create a task via POST /v1 without waiting for a human response.
223
+ * @deprecated Use `client.tasks.create()` instead.
224
+ */
225
+ createTask<const A extends readonly SendToHumanActionInput[]>(task: SendToHumanWithAppInput<A>): Promise<TaskResponse["task"]>;
226
+ /**
227
+ * Get a task by public task id (returned as `task.taskId` from {@link sendToHuman}).
228
+ * @deprecated Use `client.tasks.get()` instead.
229
+ */
230
+ getTask(taskId: string): Promise<Task | null>;
231
+ /**
232
+ * Log a status update against a thread.
233
+ * @deprecated Use `client.tasks.sendUpdate()` instead.
234
+ */
235
+ sendUpdate(input: SendUpdateInput): Promise<ThreadUpdate>;
236
+ /**
237
+ * Cancel a task by public task id.
238
+ * @deprecated Use `client.tasks.cancel()` instead.
239
+ */
240
+ cancelTask(taskId: string): Promise<void>;
241
+ private getTaskById;
242
+ private sendThreadUpdate;
243
+ private cancelTaskRequest;
244
+ }
245
+ declare function createClient(config: RobotRockConfig): RobotRock;
246
+ declare function attachWebhookToActions(actions: readonly SendToHumanActionInput[], webhook: RobotRockWebhookConfig): TaskContextInput["actions"];
247
+
248
+ export { type ChatsApi as C, RobotRock as R, type SendToHumanActionInput as S, type TasksApi as T, type SendToHumanInput as a, type RobotRockConfig as b, type CloseChatOptions as c, type CreateChatInput as d, type CreateChatResult as e, type CreatedChat as f, type RobotRockAdvancedConfig as g, type RobotRockPollingClientConfig as h, type RobotRockPollingOptions as i, type RobotRockWebhookClientConfig as j, type RobotRockWebhookConfig as k, type SendToHumanResult as l, type SendToHumanValidUntil as m, type SendUpdateInput as n, type StageChatHitlRequestsInput as o, type StagedChatHitlRequest as p, attachWebhookToActions as q, createChatsApi as r, createClient as s };
@@ -0,0 +1,188 @@
1
+ export { a as TenantCaller, T as TenantRole, i as isAdminCaller, r as requireAdminCaller, b as requireTenantCaller, t as tryResolveTenantCaller } from '../../tenant-5YKDrdC-.js';
2
+ import { AuthFn, vercelOidc } from 'eve/channels/auth';
3
+ import * as eve_channels_eve from 'eve/channels/eve';
4
+ import { R as RobotRock, p as StagedChatHitlRequest, a as SendToHumanInput, S as SendToHumanActionInput, e as CreateChatResult } from '../../client-XTnFHGFE.js';
5
+ import { SessionContext } from 'eve/context';
6
+ import { TaskPriority } from '../../schemas/index.js';
7
+ import * as node_modules_eve_dist_src_protocol_message_js from 'node_modules/eve/dist/src/protocol/message.js';
8
+ import { HookContext } from 'eve/hooks';
9
+ export { ROBOTROCK_PLATFORM_USER_CONTEXT_PUBLIC_KEY_URL } from '@robotrock/core/eve/platform-user-context-public-key';
10
+ export { R as ROBOTROCK_READY_HOOK_SLUG } from '../../index-BL9qKHA8.js';
11
+ export { ROBOTROCK_USER_CONTEXT_AUDIENCE, ROBOTROCK_USER_CONTEXT_ISSUER } from '@robotrock/core/eve/user-context-jwt';
12
+ import '@robotrock/core';
13
+ import 'zod';
14
+
15
+ /** Header carrying the dashboard user-context JWT on proxied Eve requests. */
16
+ declare const ROBOTROCK_USER_CONTEXT_HEADER = "x-robotrock-user-token";
17
+
18
+ type RobotrockUserContextAuthOptions = {
19
+ publicKeyPem?: string | (() => Promise<string | null>);
20
+ hmacSecret?: string;
21
+ };
22
+ /**
23
+ * Verifies the short-lived user-context JWT minted by the RobotRock dashboard
24
+ * Eve proxy (`X-RobotRock-User-Token`). Hosted tenants use RS256 platform JWTs;
25
+ * self-hosted deployments use per-connection HMAC secrets.
26
+ */
27
+ declare function robotrockUserContextAuth(options?: RobotrockUserContextAuthOptions): AuthFn<Request>;
28
+ /**
29
+ * Bearer `ras_*` service token for RobotRock platform reachability probes
30
+ * (`GET /eve/v1/info` during verify and tenant connect).
31
+ */
32
+ declare function robotrockAgentServiceAuth(): AuthFn<Request>;
33
+ /** Bearer token used by the RobotRock webhook resume self-call. */
34
+ declare function eveSelfServiceAuth(): AuthFn<Request>;
35
+
36
+ /** Resolve the platform RS256 public key used to verify dashboard user-context JWTs. */
37
+ declare function resolvePlatformUserContextPublicKeyPem(): Promise<string | null>;
38
+
39
+ type RobotrockEveChannelOptions = {
40
+ /** Your existing webapp auth — stacked after RobotRock user-context auth. */
41
+ auth?: AuthFn<Request>[];
42
+ /** Include RobotRock user-context + service auth. @default true */
43
+ robotrock?: boolean;
44
+ /** Include localDev() fallback. @default true when NODE_ENV !== "production" */
45
+ localDev?: boolean;
46
+ /** Optional Vercel OIDC allowlist (dashboard ↔ agent on Vercel). */
47
+ vercelOidc?: Parameters<typeof vercelOidc>[0] | false;
48
+ /** Options passed to robotrockUserContextAuth when robotrock is enabled. */
49
+ userContextAuth?: RobotrockUserContextAuthOptions;
50
+ };
51
+ /**
52
+ * Compose the default Eve HTTP channel with RobotRock dashboard auth stacked
53
+ * alongside optional existing webapp authenticators.
54
+ */
55
+ declare function robotrockEveChannel(options?: RobotrockEveChannelOptions): eve_channels_eve.EveChannel;
56
+
57
+ /** Create a RobotRock client bound to the current Eve session tenant context. */
58
+ declare function tryCreateBoundRobotRockClient(ctx: SessionContext): RobotRock | null;
59
+ /** Reset missing-auth warning (tests only). */
60
+ declare function resetBoundClientAuthWarning(): void;
61
+
62
+ type RobotRockChatAuditPayload = {
63
+ eveSessionId: string;
64
+ userId: string;
65
+ actionId: string;
66
+ actionTitle?: string;
67
+ prompt?: string;
68
+ data?: Record<string, unknown>;
69
+ idempotencyKey?: string;
70
+ requestId?: string;
71
+ toolCallId?: string;
72
+ };
73
+ /** Observe-only audit POST — never throws. */
74
+ declare function postRobotRockChatInputAudit(ctx: SessionContext, payload: RobotRockChatAuditPayload): Promise<void>;
75
+ /** Persist pending HITL requests across Eve durable waits — never throws. */
76
+ declare function postRobotRockStageHitl(ctx: SessionContext, input: {
77
+ eveSessionId: string;
78
+ requests: StagedChatHitlRequest[];
79
+ }): Promise<void>;
80
+ /** Load staged HITL requests from Convex — returns [] on failure. */
81
+ declare function fetchRobotRockStagedHitl(ctx: SessionContext, eveSessionId: string): Promise<StagedChatHitlRequest[]>;
82
+ /** Register an inbox task with its originating Eve chat session — never throws. */
83
+ declare function postRobotRockLinkChatTask(ctx: SessionContext, input: {
84
+ eveSessionId: string;
85
+ publicTaskId: string;
86
+ toolCallId: string;
87
+ }): Promise<void>;
88
+ /** Reset audit warning flags (tests only). */
89
+ declare function resetChatAuditWarnings(): void;
90
+
91
+ type CreateRobotRockTaskInput = SendToHumanInput<readonly SendToHumanActionInput[]> & {
92
+ app?: string;
93
+ };
94
+ /** Resolve the webhook URL RobotRock calls when a delegated inbox task is handled. */
95
+ declare function resolveTaskHandledWebhookUrl(baseUrl: string): string;
96
+ /** Create an inbox task via POST /v1 without waiting for a human response. */
97
+ declare function createRobotRockTask(input: CreateRobotRockTaskInput, ctx: SessionContext): Promise<{
98
+ taskId: string;
99
+ threadId: string;
100
+ status: "pending" | "open";
101
+ validUntil: string;
102
+ submittedAt: string;
103
+ }>;
104
+ type RobotRockTaskActionInput = {
105
+ id: string;
106
+ title: string;
107
+ description?: string;
108
+ };
109
+ type RobotRockTaskAssignToInput = {
110
+ users?: string[];
111
+ groups?: string[];
112
+ };
113
+ type RobotRockTaskContextInput = {
114
+ data?: Record<string, unknown>;
115
+ ui?: Record<string, unknown>;
116
+ };
117
+ type RobotRockTaskToolInput = {
118
+ type: string;
119
+ name: string;
120
+ description?: string;
121
+ actions: RobotRockTaskActionInput[];
122
+ assignTo?: RobotRockTaskAssignToInput;
123
+ context?: RobotRockTaskContextInput;
124
+ validUntilHours?: number;
125
+ priority?: TaskPriority;
126
+ updateMessage?: string;
127
+ app?: string;
128
+ };
129
+ declare function buildRobotRockTaskPayload(input: RobotRockTaskToolInput, options?: {
130
+ requestedByEmail?: string;
131
+ }): CreateRobotRockTaskInput;
132
+
133
+ type CreateRobotRockCronChatInput = {
134
+ title: string;
135
+ messages: {
136
+ role: "user" | "assistant";
137
+ text: string;
138
+ }[];
139
+ agentIdentifier?: string;
140
+ assignTo?: {
141
+ users?: string[];
142
+ groups?: string[];
143
+ };
144
+ };
145
+ /** Create an inbox chat from an Eve schedule via the RobotRock API. */
146
+ declare function createRobotRockCronChat(input: CreateRobotRockCronChatInput): Promise<CreateChatResult>;
147
+
148
+ /**
149
+ * Marker hook for RobotRock dashboard auto-detection.
150
+ *
151
+ * RobotRock reads `GET /eve/v1/info` on connect and treats deployments with a
152
+ * hook slug `robotrock-ready` as RobotRock-ready.
153
+ */
154
+ declare const robotrockReadyHook: {};
155
+ /** Alias for agents that prefer a factory name. */
156
+ declare function defineRobotRockReadyHook(): {};
157
+
158
+ /** Reset logged idempotency keys (tests only). */
159
+ declare function resetRobotrockChatAuditIdempotencyKeys(): void;
160
+ declare const robotrockChatAuditHook: {
161
+ events: {
162
+ "input.requested"(event: node_modules_eve_dist_src_protocol_message_js.InputRequestedStreamEvent & {
163
+ readonly meta?: node_modules_eve_dist_src_protocol_message_js.HandleMessageStreamEventMeta;
164
+ }, ctx: HookContext): Promise<void>;
165
+ "message.received"(event: node_modules_eve_dist_src_protocol_message_js.MessageReceivedStreamEvent & {
166
+ readonly meta?: node_modules_eve_dist_src_protocol_message_js.HandleMessageStreamEventMeta;
167
+ }, ctx: HookContext): Promise<void>;
168
+ "action.result"(event: node_modules_eve_dist_src_protocol_message_js.ActionResultStreamEvent & {
169
+ readonly meta?: node_modules_eve_dist_src_protocol_message_js.HandleMessageStreamEventMeta;
170
+ }, ctx: HookContext): Promise<void>;
171
+ };
172
+ };
173
+ /** Alias for agents that prefer a factory name. */
174
+ declare function defineRobotRockChatAuditHook(): {
175
+ events: {
176
+ "input.requested"(event: node_modules_eve_dist_src_protocol_message_js.InputRequestedStreamEvent & {
177
+ readonly meta?: node_modules_eve_dist_src_protocol_message_js.HandleMessageStreamEventMeta;
178
+ }, ctx: HookContext): Promise<void>;
179
+ "message.received"(event: node_modules_eve_dist_src_protocol_message_js.MessageReceivedStreamEvent & {
180
+ readonly meta?: node_modules_eve_dist_src_protocol_message_js.HandleMessageStreamEventMeta;
181
+ }, ctx: HookContext): Promise<void>;
182
+ "action.result"(event: node_modules_eve_dist_src_protocol_message_js.ActionResultStreamEvent & {
183
+ readonly meta?: node_modules_eve_dist_src_protocol_message_js.HandleMessageStreamEventMeta;
184
+ }, ctx: HookContext): Promise<void>;
185
+ };
186
+ };
187
+
188
+ export { type CreateRobotRockCronChatInput, type CreateRobotRockTaskInput, ROBOTROCK_USER_CONTEXT_HEADER, type RobotRockChatAuditPayload, type RobotRockTaskActionInput, type RobotRockTaskAssignToInput, type RobotRockTaskContextInput, type RobotRockTaskToolInput, type RobotrockEveChannelOptions, type RobotrockUserContextAuthOptions, buildRobotRockTaskPayload, createRobotRockCronChat, createRobotRockTask, defineRobotRockChatAuditHook, defineRobotRockReadyHook, eveSelfServiceAuth, fetchRobotRockStagedHitl, postRobotRockChatInputAudit, postRobotRockLinkChatTask, postRobotRockStageHitl, resetBoundClientAuthWarning, resetChatAuditWarnings, resetRobotrockChatAuditIdempotencyKeys, resolvePlatformUserContextPublicKeyPem, resolveTaskHandledWebhookUrl, robotrockAgentServiceAuth, robotrockChatAuditHook, robotrockEveChannel, robotrockReadyHook, robotrockUserContextAuth, tryCreateBoundRobotRockClient };