@autenai/sdk 0.3.0 → 0.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 (88) hide show
  1. package/README.md +154 -0
  2. package/bin/auten.js +2 -0
  3. package/dist/cli/add-phone.d.ts +2 -0
  4. package/dist/cli/add-phone.d.ts.map +1 -0
  5. package/dist/cli/add-phone.js +254 -0
  6. package/dist/cli/add-phone.js.map +1 -0
  7. package/dist/cli/autocomplete.d.ts +31 -0
  8. package/dist/cli/autocomplete.d.ts.map +1 -0
  9. package/dist/cli/autocomplete.js +438 -0
  10. package/dist/cli/autocomplete.js.map +1 -0
  11. package/dist/cli/build-apk.d.ts +2 -0
  12. package/dist/cli/build-apk.d.ts.map +1 -0
  13. package/dist/cli/build-apk.js +97 -0
  14. package/dist/cli/build-apk.js.map +1 -0
  15. package/dist/cli/creds.d.ts +2 -0
  16. package/dist/cli/creds.d.ts.map +1 -0
  17. package/dist/cli/creds.js +147 -0
  18. package/dist/cli/creds.js.map +1 -0
  19. package/dist/cli/devices.d.ts +2 -0
  20. package/dist/cli/devices.d.ts.map +1 -0
  21. package/dist/cli/devices.js +38 -0
  22. package/dist/cli/devices.js.map +1 -0
  23. package/dist/cli/index.d.ts +2 -0
  24. package/dist/cli/index.d.ts.map +1 -0
  25. package/dist/cli/index.js +111 -0
  26. package/dist/cli/index.js.map +1 -0
  27. package/dist/cli/keys.d.ts +2 -0
  28. package/dist/cli/keys.d.ts.map +1 -0
  29. package/dist/cli/keys.js +88 -0
  30. package/dist/cli/keys.js.map +1 -0
  31. package/dist/cli/login.d.ts +2 -0
  32. package/dist/cli/login.d.ts.map +1 -0
  33. package/dist/cli/login.js +35 -0
  34. package/dist/cli/login.js.map +1 -0
  35. package/dist/cli/logo.d.ts +2 -0
  36. package/dist/cli/logo.d.ts.map +1 -0
  37. package/dist/cli/logo.js +11 -0
  38. package/dist/cli/logo.js.map +1 -0
  39. package/dist/cli/me.d.ts +2 -0
  40. package/dist/cli/me.d.ts.map +1 -0
  41. package/dist/cli/me.js +19 -0
  42. package/dist/cli/me.js.map +1 -0
  43. package/dist/cli/shell.d.ts +2 -0
  44. package/dist/cli/shell.d.ts.map +1 -0
  45. package/dist/cli/shell.js +22 -0
  46. package/dist/cli/shell.js.map +1 -0
  47. package/dist/cli/task.d.ts +2 -0
  48. package/dist/cli/task.d.ts.map +1 -0
  49. package/dist/cli/task.js +148 -0
  50. package/dist/cli/task.js.map +1 -0
  51. package/dist/cli/tasks.d.ts +2 -0
  52. package/dist/cli/tasks.d.ts.map +1 -0
  53. package/dist/cli/tasks.js +76 -0
  54. package/dist/cli/tasks.js.map +1 -0
  55. package/dist/cli/util.d.ts +46 -0
  56. package/dist/cli/util.d.ts.map +1 -0
  57. package/dist/cli/util.js +134 -0
  58. package/dist/cli/util.js.map +1 -0
  59. package/dist/package.json +56 -0
  60. package/dist/src/client.d.ts +81 -0
  61. package/dist/src/client.d.ts.map +1 -0
  62. package/dist/src/client.js +116 -0
  63. package/dist/src/client.js.map +1 -0
  64. package/dist/src/errors.d.ts +16 -0
  65. package/dist/src/errors.d.ts.map +1 -0
  66. package/dist/src/errors.js +31 -0
  67. package/dist/src/errors.js.map +1 -0
  68. package/dist/src/index.d.ts +7 -0
  69. package/dist/src/index.d.ts.map +1 -0
  70. package/dist/src/index.js +5 -0
  71. package/dist/src/index.js.map +1 -0
  72. package/dist/src/phone.d.ts +115 -0
  73. package/dist/src/phone.d.ts.map +1 -0
  74. package/dist/src/phone.js +123 -0
  75. package/dist/src/phone.js.map +1 -0
  76. package/dist/src/transport.d.ts +14 -0
  77. package/dist/src/transport.d.ts.map +1 -0
  78. package/dist/src/transport.js +71 -0
  79. package/dist/src/transport.js.map +1 -0
  80. package/dist/src/types.d.ts +138 -0
  81. package/dist/src/types.d.ts.map +1 -0
  82. package/dist/src/types.js +2 -0
  83. package/dist/src/types.js.map +1 -0
  84. package/package.json +43 -26
  85. package/dist/index.d.mts +0 -424
  86. package/dist/index.d.ts +0 -424
  87. package/dist/index.js +0 -411
  88. package/dist/index.mjs +0 -379
@@ -0,0 +1,138 @@
1
+ /** Speed preset — drives the BIOS replay engine's settle / postAction / look-skip behaviour.
2
+ *
3
+ * "fast" — human pace (default), 250ms settle, look after every action
4
+ * "instant" — 50ms settle, still looks after each step
5
+ * "lightning" — 10ms settle, skips per-action look (fastest, less verifiable)
6
+ */
7
+ export type Speed = "fast" | "instant" | "lightning";
8
+ export type TaskMode = "task" | "explore";
9
+ export type TaskStatus = "queued" | "running" | "completed" | "failed" | "cancelled";
10
+ export type Device = {
11
+ serial: string;
12
+ model: string | null;
13
+ online: boolean;
14
+ type: string;
15
+ lastSeenAt: string | null;
16
+ androidVersion: string | null;
17
+ screenW: number | null;
18
+ screenH: number | null;
19
+ };
20
+ export type TaskTurn = {
21
+ index: number;
22
+ source: string;
23
+ label: string | null;
24
+ ok: boolean;
25
+ cost_usd: number;
26
+ duration_ms: number | null;
27
+ };
28
+ export type TaskArtifact = {
29
+ type: string;
30
+ name: string;
31
+ url: string | null;
32
+ data: unknown;
33
+ };
34
+ export type Task = {
35
+ task_id: string;
36
+ device_serial: string;
37
+ prompt: string;
38
+ status: TaskStatus;
39
+ mode: TaskMode;
40
+ verified?: boolean | null;
41
+ result?: {
42
+ summary?: string;
43
+ cost_usd?: number;
44
+ duration_ms?: number;
45
+ verified?: boolean;
46
+ verify_reason?: string;
47
+ } | null;
48
+ error?: {
49
+ code?: string;
50
+ message?: string;
51
+ retryable?: boolean;
52
+ } | null;
53
+ created_at?: string;
54
+ started_at?: string | null;
55
+ completed_at?: string | null;
56
+ turns?: TaskTurn[];
57
+ artifacts?: TaskArtifact[];
58
+ };
59
+ export type CreateTaskInput = {
60
+ device: string;
61
+ prompt: string;
62
+ mode?: TaskMode;
63
+ speed?: Speed;
64
+ webhook_url?: string;
65
+ webhook_secret?: string;
66
+ timeout_seconds?: number;
67
+ };
68
+ export type CreateTaskResponse = {
69
+ task_id: string;
70
+ status: string;
71
+ watch_url: string;
72
+ };
73
+ export type ListTasksOptions = {
74
+ device?: string;
75
+ status?: TaskStatus;
76
+ limit?: number;
77
+ };
78
+ export type Whoami = {
79
+ owner_id: string;
80
+ key_id: string;
81
+ is_root: boolean;
82
+ device_count: number;
83
+ task_count: number;
84
+ };
85
+ export type ApiKey = {
86
+ id: string;
87
+ owner_id: string;
88
+ name: string | null;
89
+ active: boolean;
90
+ created_at: string;
91
+ last_used_at?: string | null;
92
+ key_preview: string;
93
+ };
94
+ export type ApiKeyWithSecret = ApiKey & {
95
+ key: string;
96
+ };
97
+ export type CreateKeyInput = {
98
+ name?: string;
99
+ /** Only root keys can mint keys for other owners. */
100
+ ownerId?: string;
101
+ };
102
+ export type Credential = {
103
+ service: string;
104
+ username: string | null;
105
+ notes: string | null;
106
+ updatedAt: string;
107
+ };
108
+ export type SaveCredentialInput = {
109
+ service: string;
110
+ username?: string;
111
+ password?: string;
112
+ totp_secret?: string;
113
+ notes?: string;
114
+ [k: string]: unknown;
115
+ };
116
+ export type SomElement = {
117
+ id: number;
118
+ x: number;
119
+ y: number;
120
+ w: number;
121
+ h: number;
122
+ text?: string;
123
+ desc?: string;
124
+ cls?: string;
125
+ res?: string;
126
+ clickable?: boolean;
127
+ editable?: boolean;
128
+ scrollable?: boolean;
129
+ via_ocr?: boolean;
130
+ };
131
+ export type LookResult = {
132
+ annotated: string;
133
+ elements: SomElement[];
134
+ width: number;
135
+ height: number;
136
+ };
137
+ export type KeyName = "back" | "home" | "recents" | "enter" | "delete" | "tab" | "menu" | "search" | "volume_up" | "volume_down" | "power";
138
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,39 +1,56 @@
1
1
  {
2
2
  "name": "@autenai/sdk",
3
- "version": "0.3.0",
4
- "description": "Auten.ai SDKAI-native integrations with managed OAuth",
5
- "main": "./dist/index.js",
6
- "module": "./dist/index.mjs",
7
- "types": "./dist/index.d.ts",
3
+ "version": "0.5.0",
4
+ "description": "SDK + CLI for controlling Android phones through the Auten relaysend tasks, manage credentials, watch live screens.",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "main": "dist/src/index.js",
8
+ "types": "dist/src/index.d.ts",
8
9
  "exports": {
9
10
  ".": {
10
- "types": "./dist/index.d.ts",
11
- "import": "./dist/index.mjs",
12
- "require": "./dist/index.js"
11
+ "types": "./dist/src/index.d.ts",
12
+ "default": "./dist/src/index.js"
13
13
  }
14
14
  },
15
+ "bin": {
16
+ "auten": "bin/auten.js"
17
+ },
15
18
  "files": [
16
- "dist"
19
+ "dist",
20
+ "bin",
21
+ "README.md",
22
+ "LICENSE"
17
23
  ],
24
+ "engines": {
25
+ "node": ">=18.17"
26
+ },
18
27
  "scripts": {
19
- "build": "tsup src/index.ts --format cjs,esm --dts --clean",
20
- "dev": "tsup src/index.ts --format cjs,esm --dts --watch",
21
- "prepublishOnly": "npm run build"
28
+ "build": "tsc",
29
+ "watch": "tsc --watch",
30
+ "typecheck": "tsc --noEmit",
31
+ "prepack": "npm run build"
32
+ },
33
+ "dependencies": {
34
+ "qrcode-terminal": "^0.12.0",
35
+ "ws": "^8.18.0"
22
36
  },
23
- "keywords": [
24
- "auten",
25
- "ai",
26
- "oauth",
27
- "integrations",
28
- "agents",
29
- "automation"
30
- ],
31
- "license": "MIT",
32
37
  "devDependencies": {
33
- "tsup": "^8.0.0",
34
- "typescript": "^5.3.0"
38
+ "@types/node": "^22.0.0",
39
+ "@types/pngjs": "^6.0.5",
40
+ "@types/qrcode-terminal": "^0.12.2",
41
+ "@types/ws": "^8.5.0",
42
+ "pngjs": "^7.0.0",
43
+ "tsx": "^4.19.0",
44
+ "typescript": "^5.6.0"
35
45
  },
36
- "engines": {
37
- "node": ">=18.0.0"
38
- }
46
+ "keywords": [
47
+ "android",
48
+ "automation",
49
+ "mobile",
50
+ "accessibility",
51
+ "agent",
52
+ "auten",
53
+ "phone-control",
54
+ "ai"
55
+ ]
39
56
  }
package/dist/index.d.mts DELETED
@@ -1,424 +0,0 @@
1
- /**
2
- * Auten SDK — HTTP Client
3
- * Fetch-based with retry, error mapping, and rate limit handling.
4
- */
5
- interface ClientConfig {
6
- apiKey: string;
7
- baseUrl: string;
8
- timeout: number;
9
- retries: number;
10
- }
11
- declare class HttpClient {
12
- private config;
13
- constructor(config: ClientConfig);
14
- get<T>(path: string): Promise<T>;
15
- post<T>(path: string, body?: unknown): Promise<T>;
16
- del<T>(path: string): Promise<T | void>;
17
- private request;
18
- private sleep;
19
- }
20
-
21
- /**
22
- * Auten SDK — Type Definitions
23
- */
24
- interface AutenConfig {
25
- /** Your Auten API key (starts with auten_live_ or auten_test_) */
26
- apiKey: string;
27
- /** Base URL for the API. Default: https://auten.ai */
28
- baseUrl?: string;
29
- /** Request timeout in ms. Default: 30000 */
30
- timeout?: number;
31
- /** Number of retries on failure. Default: 3 */
32
- retries?: number;
33
- }
34
- interface Provider {
35
- slug: string;
36
- name: string;
37
- category: string;
38
- icon: string | null;
39
- accountEmail: string | null;
40
- isActive: boolean;
41
- connectedAt: string;
42
- }
43
- interface ProviderCredentials {
44
- provider: string;
45
- accessToken: string;
46
- }
47
- interface ExecuteResult {
48
- provider: string;
49
- action: string;
50
- result: any;
51
- duration?: number;
52
- }
53
- interface AIExecuteResult {
54
- provider: string;
55
- task: string;
56
- plan?: string;
57
- result: any;
58
- callsMade?: number;
59
- learned?: boolean;
60
- cached?: boolean;
61
- duration?: number;
62
- }
63
- interface AIChainStep {
64
- provider: string;
65
- task: string;
66
- status: 'success' | 'failed' | 'skipped';
67
- result?: any;
68
- error?: string;
69
- }
70
- interface AIChainResult {
71
- summary: string;
72
- steps: AIChainStep[];
73
- totalProviders: number;
74
- duration: number;
75
- }
76
- interface Agent {
77
- id: string;
78
- name: string;
79
- description: string | null;
80
- status: string;
81
- isPublished: boolean;
82
- schedule: AgentSchedule | null;
83
- createdAt: string;
84
- updatedAt: string;
85
- }
86
- interface AgentDetail extends Agent {
87
- tools: AgentTool[];
88
- }
89
- interface AgentTool {
90
- name: string;
91
- description: string;
92
- }
93
- interface AgentSchedule {
94
- cron: string;
95
- timezone: string;
96
- enabled: boolean;
97
- nextRunAt: string | null;
98
- }
99
- interface CreateAgentOptions {
100
- name: string;
101
- description?: string;
102
- tools?: Array<{
103
- name: string;
104
- code: string;
105
- description?: string;
106
- }>;
107
- schedule?: {
108
- cron: string;
109
- timezone?: string;
110
- enabled?: boolean;
111
- };
112
- }
113
- interface DeployAgentOptions {
114
- tools: Array<{
115
- name: string;
116
- code: string;
117
- description?: string;
118
- }>;
119
- schedule?: {
120
- cron?: string;
121
- timezone?: string;
122
- enabled?: boolean;
123
- };
124
- }
125
- interface AgentRunResult {
126
- executionId: string;
127
- status: string;
128
- }
129
- interface CreateAgentResult {
130
- id: string;
131
- name: string;
132
- scope: string;
133
- status: string;
134
- toolCount: number;
135
- }
136
- interface DeployResult {
137
- id: string;
138
- deployed: boolean;
139
- tools: string[];
140
- version: string;
141
- }
142
-
143
- /**
144
- * Auten SDK — Provider Client
145
- * Manages provider connections and executes actions.
146
- */
147
-
148
- declare class ProviderClient {
149
- private client;
150
- constructor(client: HttpClient);
151
- /**
152
- * List all connected providers for the authenticated user.
153
- */
154
- list(): Promise<Provider[]>;
155
- /**
156
- * Execute an action on a provider.
157
- *
158
- * @example
159
- * const result = await auten.providers.execute('google-gmail', 'listEmails', { query: 'is:unread' });
160
- */
161
- execute(slug: string, action: string, params?: Record<string, any>): Promise<ExecuteResult>;
162
- /**
163
- * Get a valid access token for a provider.
164
- * Token is automatically refreshed if expired.
165
- *
166
- * @example
167
- * const { accessToken } = await auten.providers.getCredentials('google-gmail');
168
- */
169
- getCredentials(slug: string): Promise<ProviderCredentials>;
170
- }
171
-
172
- /**
173
- * Auten SDK — Agent Client
174
- * Create, deploy, run, and manage agents.
175
- */
176
-
177
- declare class AgentClient {
178
- private client;
179
- constructor(client: HttpClient);
180
- /**
181
- * List all agents for the authenticated user.
182
- */
183
- list(): Promise<Agent[]>;
184
- /**
185
- * Get agent details including tools and schedule.
186
- */
187
- get(id: string): Promise<AgentDetail>;
188
- /**
189
- * Create a new agent.
190
- *
191
- * @example
192
- * const agent = await auten.agents.create({
193
- * name: 'Invoice Processor',
194
- * tools: [{ name: 'process-invoice', code: '...' }],
195
- * schedule: { cron: '0 9 * * *', timezone: 'Europe/Vilnius' },
196
- * });
197
- */
198
- create(options: CreateAgentOptions): Promise<CreateAgentResult>;
199
- /**
200
- * Deploy tools to an existing agent.
201
- * Upserts tool code and updates the agent configuration.
202
- *
203
- * @example
204
- * await auten.agents.deploy('agent-id', {
205
- * tools: [{ name: 'fetch-data', code: '...' }],
206
- * });
207
- */
208
- deploy(id: string, options: DeployAgentOptions): Promise<DeployResult>;
209
- /**
210
- * Trigger an agent run.
211
- *
212
- * @example
213
- * const { executionId } = await auten.agents.run('agent-id', { inputData: '...' });
214
- */
215
- run(id: string, data?: Record<string, any>): Promise<AgentRunResult>;
216
- /**
217
- * Get agent status.
218
- */
219
- status(id: string): Promise<{
220
- status: string;
221
- lastRunAt?: string;
222
- }>;
223
- /**
224
- * Get agent run history.
225
- */
226
- history(id: string): Promise<any[]>;
227
- /**
228
- * Delete an agent and all its knowledge/tools.
229
- */
230
- delete(id: string): Promise<void>;
231
- }
232
-
233
- /**
234
- * Auten SDK — AI Client
235
- * AI-powered provider interactions using natural language.
236
- */
237
-
238
- declare class AIClient {
239
- private client;
240
- constructor(client: HttpClient);
241
- /**
242
- * Execute a task using AI to interpret and call the right provider APIs.
243
- *
244
- * @example
245
- * const result = await auten.ai.execute(
246
- * 'google-sheets',
247
- * 'Find Q1 revenue totals and create a summary row'
248
- * );
249
- *
250
- * @example
251
- * const result = await auten.ai.execute(
252
- * 'zoho-crm',
253
- * 'Find all deals closing this month worth over $10k',
254
- * { currency: 'USD' }
255
- * );
256
- */
257
- execute(provider: string, task: string, context?: Record<string, any>): Promise<AIExecuteResult>;
258
- /**
259
- * Execute a cross-provider task using natural language.
260
- * AI breaks the task into steps, executes each with the right provider,
261
- * and transforms data between them automatically.
262
- *
263
- * @example
264
- * const result = await auten.ai.chain(
265
- * 'Paimk Shopify užsakymus ir sudėk į Google Sheets'
266
- * );
267
- *
268
- * @example
269
- * const result = await auten.ai.chain(
270
- * 'Find Jira bugs from this week, group by severity, and post summary to Slack #dev'
271
- * );
272
- */
273
- chain(task: string, context?: Record<string, any>): Promise<AIChainResult>;
274
- }
275
-
276
- /**
277
- * Auten SDK — Webhooks & Events Client
278
- * Register webhooks, poll events, listen to provider activity.
279
- */
280
-
281
- interface Webhook {
282
- id: string;
283
- event: string;
284
- provider: string | null;
285
- callbackUrl: string;
286
- filter: Record<string, any> | null;
287
- createdAt: string;
288
- }
289
- interface RegisterWebhookOptions {
290
- /** Event to listen for (e.g., "slack:message", "gmail:new_email", "*") */
291
- event: string;
292
- /** Your callback URL that will receive POST requests */
293
- callbackUrl: string;
294
- /** Filter to specific provider (optional) */
295
- provider?: string;
296
- /** Filter by event data fields (optional) */
297
- filter?: Record<string, any>;
298
- }
299
- interface SdkEvent {
300
- id: string;
301
- event: string;
302
- data: any;
303
- provider: string | null;
304
- timestamp: string;
305
- }
306
- interface PollResult {
307
- events: SdkEvent[];
308
- count: number;
309
- since: string;
310
- }
311
- declare class WebhookClient {
312
- private client;
313
- constructor(client: HttpClient);
314
- /**
315
- * List all registered webhooks.
316
- */
317
- list(): Promise<Webhook[]>;
318
- /**
319
- * Register a webhook to receive provider events.
320
- *
321
- * @example
322
- * await auten.webhooks.register({
323
- * event: 'slack:message:thread',
324
- * callbackUrl: 'https://myapp.com/api/auten-webhook',
325
- * provider: 'slack',
326
- * });
327
- */
328
- register(options: RegisterWebhookOptions): Promise<Webhook>;
329
- /**
330
- * Delete a webhook.
331
- */
332
- delete(id: string): Promise<void>;
333
- }
334
- declare class EventClient {
335
- private client;
336
- constructor(client: HttpClient);
337
- /**
338
- * Poll for new events since a timestamp.
339
- * Alternative to webhooks for serverless environments.
340
- *
341
- * @example
342
- * const { events } = await auten.events.poll({
343
- * since: new Date(Date.now() - 60000).toISOString(), // last minute
344
- * provider: 'slack',
345
- * });
346
- */
347
- poll(options?: {
348
- since?: string;
349
- provider?: string;
350
- limit?: number;
351
- }): Promise<PollResult>;
352
- }
353
-
354
- /**
355
- * Auten SDK — Error Classes
356
- */
357
- declare class AutenError extends Error {
358
- constructor(message: string);
359
- }
360
- declare class AutenApiError extends AutenError {
361
- readonly code: string;
362
- readonly statusCode: number;
363
- readonly details: unknown;
364
- constructor(code: string, message: string, statusCode: number, details?: unknown);
365
- }
366
- declare class AutenAuthError extends AutenApiError {
367
- constructor(message: string, code?: string);
368
- }
369
- declare class AutenRateLimitError extends AutenApiError {
370
- readonly retryAfter: number;
371
- constructor(message: string, retryAfter: number);
372
- }
373
- declare class AutenNotFoundError extends AutenApiError {
374
- constructor(message: string);
375
- }
376
-
377
- /**
378
- * Auten.ai SDK v0.3.0
379
- *
380
- * AI-native integrations with managed OAuth, event-driven webhooks,
381
- * and per-user learning.
382
- *
383
- * @example
384
- * ```typescript
385
- * import { Auten } from '@autenai/sdk';
386
- *
387
- * const auten = new Auten({ apiKey: 'auten_live_...' });
388
- *
389
- * // List connected providers
390
- * const providers = await auten.providers.list();
391
- *
392
- * // AI-powered execution
393
- * const result = await auten.ai.execute('gmail', 'Find unread emails');
394
- *
395
- * // Cross-provider chain
396
- * await auten.ai.chain('Get Gmail emails and post summary to Slack #general');
397
- *
398
- * // Register webhook for real-time events
399
- * await auten.webhooks.register({
400
- * event: 'slack:message',
401
- * callbackUrl: 'https://myapp.com/api/webhook',
402
- * });
403
- *
404
- * // Or poll for events
405
- * const { events } = await auten.events.poll({ since: lastCheck });
406
- * ```
407
- */
408
-
409
- declare class Auten {
410
- /** Provider connections and execution */
411
- readonly providers: ProviderClient;
412
- /** Agent management */
413
- readonly agents: AgentClient;
414
- /** AI-powered execution */
415
- readonly ai: AIClient;
416
- /** Webhook registration */
417
- readonly webhooks: WebhookClient;
418
- /** Event polling */
419
- readonly events: EventClient;
420
- private readonly client;
421
- constructor(config: AutenConfig);
422
- }
423
-
424
- export { type AIChainResult, type AIChainStep, type AIExecuteResult, type Agent, type AgentDetail, type AgentRunResult, type AgentSchedule, type AgentTool, Auten, AutenApiError, AutenAuthError, type AutenConfig, AutenError, AutenNotFoundError, AutenRateLimitError, type CreateAgentOptions, type CreateAgentResult, type DeployAgentOptions, type DeployResult, type ExecuteResult, type PollResult, type Provider, type ProviderCredentials, type RegisterWebhookOptions, type SdkEvent, type Webhook };