@blazingagents/sdk 0.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 (83) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +366 -0
  3. package/dist/chat-transport.d.ts +17 -0
  4. package/dist/chat-transport.js +58 -0
  5. package/dist/client.d.ts +38 -0
  6. package/dist/client.js +86 -0
  7. package/dist/contracts/api.d.ts +256 -0
  8. package/dist/contracts/api.js +189 -0
  9. package/dist/contracts/entities/agent-tools.d.ts +26 -0
  10. package/dist/contracts/entities/agent-tools.js +52 -0
  11. package/dist/contracts/entities/agents.d.ts +183 -0
  12. package/dist/contracts/entities/agents.js +153 -0
  13. package/dist/contracts/entities/artifacts.d.ts +71 -0
  14. package/dist/contracts/entities/artifacts.js +71 -0
  15. package/dist/contracts/entities/attribution.d.ts +27 -0
  16. package/dist/contracts/entities/attribution.js +27 -0
  17. package/dist/contracts/entities/chat.d.ts +269 -0
  18. package/dist/contracts/entities/chat.js +198 -0
  19. package/dist/contracts/entities/mcp-connections.d.ts +421 -0
  20. package/dist/contracts/entities/mcp-connections.js +473 -0
  21. package/dist/contracts/entities/memories.d.ts +56 -0
  22. package/dist/contracts/entities/memories.js +62 -0
  23. package/dist/contracts/entities/prompts.d.ts +61 -0
  24. package/dist/contracts/entities/prompts.js +96 -0
  25. package/dist/contracts/entities/providers.d.ts +123 -0
  26. package/dist/contracts/entities/providers.js +111 -0
  27. package/dist/contracts/entities/sessions.d.ts +156 -0
  28. package/dist/contracts/entities/sessions.js +120 -0
  29. package/dist/contracts/entities/skills.d.ts +167 -0
  30. package/dist/contracts/entities/skills.js +153 -0
  31. package/dist/contracts/entities/tasks.d.ts +457 -0
  32. package/dist/contracts/entities/tasks.js +252 -0
  33. package/dist/contracts/entities/tenants.d.ts +69 -0
  34. package/dist/contracts/entities/tenants.js +54 -0
  35. package/dist/contracts/entities/usage.d.ts +95 -0
  36. package/dist/contracts/entities/usage.js +117 -0
  37. package/dist/contracts/entities/workspaces.d.ts +89 -0
  38. package/dist/contracts/entities/workspaces.js +71 -0
  39. package/dist/contracts/ids.d.ts +57 -0
  40. package/dist/contracts/ids.js +79 -0
  41. package/dist/contracts/index.d.ts +15 -0
  42. package/dist/contracts/index.js +16 -0
  43. package/dist/contracts/limitations.d.ts +138 -0
  44. package/dist/contracts/limitations.js +140 -0
  45. package/dist/contracts/utils.d.ts +3 -0
  46. package/dist/contracts/utils.js +7 -0
  47. package/dist/errors.d.ts +33 -0
  48. package/dist/errors.js +48 -0
  49. package/dist/generation.d.ts +5 -0
  50. package/dist/generation.js +422 -0
  51. package/dist/http.d.ts +21 -0
  52. package/dist/http.js +307 -0
  53. package/dist/index.d.ts +20 -0
  54. package/dist/index.js +13 -0
  55. package/dist/relay.d.ts +20 -0
  56. package/dist/relay.js +113 -0
  57. package/dist/resources/agents.d.ts +8 -0
  58. package/dist/resources/agents.js +82 -0
  59. package/dist/resources/artifacts.d.ts +5 -0
  60. package/dist/resources/artifacts.js +29 -0
  61. package/dist/resources/mcp-connections.d.ts +2 -0
  62. package/dist/resources/mcp-connections.js +40 -0
  63. package/dist/resources/memories.d.ts +7 -0
  64. package/dist/resources/memories.js +33 -0
  65. package/dist/resources/prompts.d.ts +6 -0
  66. package/dist/resources/prompts.js +36 -0
  67. package/dist/resources/providers.d.ts +5 -0
  68. package/dist/resources/providers.js +38 -0
  69. package/dist/resources/sessions.d.ts +8 -0
  70. package/dist/resources/sessions.js +49 -0
  71. package/dist/resources/skills.d.ts +2 -0
  72. package/dist/resources/skills.js +49 -0
  73. package/dist/resources/tasks.d.ts +7 -0
  74. package/dist/resources/tasks.js +63 -0
  75. package/dist/resources/tenant.d.ts +6 -0
  76. package/dist/resources/tenant.js +19 -0
  77. package/dist/resources/usage.d.ts +7 -0
  78. package/dist/resources/usage.js +19 -0
  79. package/dist/resources/workspaces.d.ts +2 -0
  80. package/dist/resources/workspaces.js +31 -0
  81. package/dist/types.d.ts +381 -0
  82. package/dist/types.js +1 -0
  83. package/package.json +65 -0
@@ -0,0 +1,381 @@
1
+ import type { UIMessage, UIMessageChunk } from "ai";
2
+ import type { ApiErrorCode } from "./contracts/api.ts";
3
+ import type { Agent, AgentsResponse, AgentVersion, AgentVersionsResponse, CreateAgentBody, UpdateAgentBody } from "./contracts/entities/agents.ts";
4
+ import type { ArtifactDownloadUrlResponse, ArtifactListItem, ArtifactsListResponse } from "./contracts/entities/artifacts.ts";
5
+ import type { BlazingAgentsChatMessageMetadata } from "./contracts/entities/chat.ts";
6
+ import type { CreateMcpConnectionBody, McpAttachmentResponse, McpAttachmentsResponse, McpConnectionOauthConnectResponse, McpConnectionReconnectResult, McpConnectionResponse, McpConnectionsResponse, McpConnectionTestResponse, ReconnectMcpConnectionBody, UpdateMcpAttachmentBody, UpdateMcpConnectionBody } from "./contracts/entities/mcp-connections.ts";
7
+ import type { CreateMemoryBody, MemoriesListResponse, MemoryResponse, UpdateMemoryBody } from "./contracts/entities/memories.ts";
8
+ import type { CreatePromptBody, PromptResponse, PromptsResponse, UpdatePromptBody } from "./contracts/entities/prompts.ts";
9
+ import type { CreateProviderBody, DeleteProviderOptions, ProviderModelsResponse, ProviderResponse, ProvidersResponse, UpdateProviderBody } from "./contracts/entities/providers.ts";
10
+ import type { DecideToolApprovalBody, SessionMessagesResponse, SessionsListResponse, ToolApprovalDecisionResponse, ToolApprovalsResponse } from "./contracts/entities/sessions.ts";
11
+ import type { CreateSkillBody, SkillArchiveType, SkillCopyResults, SkillDetail, SkillsListResponse } from "./contracts/entities/skills.ts";
12
+ import type { CreateTaskBody, CreateTaskResponse, CreateTaskRunBody, CreateTaskRunResponse, TaskResponse, TaskRunMessagesResponse, TaskRunResponse, TaskRunsListResponse, TasksListResponse, UpdateTaskBody } from "./contracts/entities/tasks.ts";
13
+ import type { TenantSettingsResponse, UpdateTenantSettingsBody } from "./contracts/entities/tenants.ts";
14
+ import type { UsageQuery, UsageResponse } from "./contracts/entities/usage.ts";
15
+ import type { CreateWorkspaceBody, UpdateWorkspaceBody, Workspace, WorkspacesListResponse } from "./contracts/entities/workspaces.ts";
16
+ export type KnownBlazingAgentsErrorCode = ApiErrorCode | "invalid_response" | "network_error" | "request_aborted" | "stream_error";
17
+ export type BlazingAgentsErrorCode = KnownBlazingAgentsErrorCode | (string & {});
18
+ export type BlazingAgentsFetch = (input: string, init?: BlazingAgentsRequestInit) => Promise<Response>;
19
+ export interface BlazingAgentsRequestInit extends RequestInit {
20
+ /**
21
+ * The SDK never sends multipart bodies via the global `FormData`; the
22
+ * skill upload path passes a `FormData` instance directly. This slot
23
+ * exists only so the type carries the union cleanly.
24
+ */
25
+ body?: BodyInit | FormData | null;
26
+ }
27
+ export interface RequestOptions {
28
+ body?: BodyInit | FormData | null;
29
+ clientRequestId?: string | undefined;
30
+ /**
31
+ * Extra headers (e.g. `Content-Type: multipart/form-data` is set
32
+ * automatically by `fetch` when given a `FormData` body).
33
+ */
34
+ headers?: Record<string, string>;
35
+ /**
36
+ * JSON body (object — serialized by the helper) or `undefined` for
37
+ * GET/DELETE. Multipart uploads bypass this and pass `FormData` via
38
+ * `extra.body`.
39
+ */
40
+ json?: unknown;
41
+ method?: string;
42
+ /**
43
+ * Query params appended to the path. `undefined`/`null` values are
44
+ * skipped. Values are scalar — stringified with `String()`. No `/v1`
45
+ * endpoint accepts repeated keys, so array values are not supported.
46
+ */
47
+ query?: Record<string, string | number | boolean | null | undefined>;
48
+ signal?: AbortSignal;
49
+ }
50
+ export interface HttpConfig {
51
+ apiKey: string;
52
+ baseUrl: string;
53
+ clientRequestId?: string;
54
+ fetch?: BlazingAgentsFetch;
55
+ onResponse?: ((response: ResponseObservation) => void) | undefined;
56
+ }
57
+ export interface BlazingAgentsOptions {
58
+ apiKey: string;
59
+ baseUrl?: string;
60
+ clientRequestId?: string;
61
+ fetch?: HttpConfig["fetch"];
62
+ onResponse?: HttpConfig["onResponse"];
63
+ }
64
+ export interface BlazingAgentsRequestOptions {
65
+ clientRequestId: string;
66
+ }
67
+ export interface ResponseObservation {
68
+ clientRequestId?: string;
69
+ durationMs: number;
70
+ method: string;
71
+ path: string;
72
+ requestId?: string;
73
+ status: number;
74
+ }
75
+ export type ChatTrigger = "submit-message" | "regenerate-message";
76
+ export type BlazingAgentsUIMessage = UIMessage<BlazingAgentsChatMessageMetadata>;
77
+ export type BlazingAgentsUIMessageChunk = UIMessageChunk<BlazingAgentsChatMessageMetadata>;
78
+ /**
79
+ * End-user attribution (ADR-0001) carried on every generation request.
80
+ * `userId` defaults to `''` (tenant-level) server-side; `metadata` is an
81
+ * arbitrary json object the tenant can use to tag the turn.
82
+ */
83
+ export interface AttributionInput {
84
+ metadata?: Record<string, unknown>;
85
+ userId?: string;
86
+ }
87
+ interface CorrelatedRequestInput {
88
+ clientRequestId?: string;
89
+ }
90
+ interface NewSessionInput {
91
+ sessionId?: never;
92
+ trigger?: "submit-message";
93
+ version?: number;
94
+ }
95
+ interface ExistingSessionInput {
96
+ sessionId: string;
97
+ trigger?: ChatTrigger;
98
+ version?: never;
99
+ }
100
+ type ChatSessionInput = NewSessionInput | ExistingSessionInput;
101
+ interface ChatMessageContentInput extends AttributionInput, CorrelatedRequestInput {
102
+ agentId: string;
103
+ message: UIMessage;
104
+ messageId?: string;
105
+ promptId?: never;
106
+ signal?: AbortSignal;
107
+ variables?: never;
108
+ }
109
+ interface ChatPromptContentInput extends AttributionInput, CorrelatedRequestInput {
110
+ agentId: string;
111
+ message?: never;
112
+ messageId?: string;
113
+ promptId: string;
114
+ signal?: AbortSignal;
115
+ variables?: Record<string, string>;
116
+ }
117
+ export type ChatMessageInput = ChatMessageContentInput & ChatSessionInput;
118
+ export type ChatPromptInput = ChatPromptContentInput & ChatSessionInput;
119
+ export type ChatInput = ChatMessageInput | ChatPromptInput;
120
+ export interface ChatResult {
121
+ requestId?: string;
122
+ /**
123
+ * Resolves to the session id of this chat — the server-minted `ss_` id
124
+ * read from the `Location` header on the create path, or the passed
125
+ * `sessionId` on resume. The tenant persists this id and reuses it to
126
+ * resume.
127
+ */
128
+ sessionId: Promise<string>;
129
+ toResponse: () => Response;
130
+ }
131
+ export interface TerminalStreamResult {
132
+ requestId?: string;
133
+ toResponse: () => Response;
134
+ }
135
+ interface StatelessGenerationInput extends AttributionInput, CorrelatedRequestInput {
136
+ version?: number;
137
+ }
138
+ export interface CompletionPromptInput extends StatelessGenerationInput {
139
+ agentId: string;
140
+ prompt: string;
141
+ promptId?: never;
142
+ schema?: never;
143
+ signal?: AbortSignal;
144
+ variables?: never;
145
+ }
146
+ export interface CompletionPromptIdInput extends StatelessGenerationInput {
147
+ agentId: string;
148
+ prompt?: never;
149
+ promptId: string;
150
+ schema?: never;
151
+ signal?: AbortSignal;
152
+ variables?: Record<string, string>;
153
+ }
154
+ export type CompletionInput = CompletionPromptInput | CompletionPromptIdInput;
155
+ export interface CompletionResult {
156
+ requestId?: string;
157
+ text: Promise<string>;
158
+ textStream: AsyncIterable<string>;
159
+ toResponse: () => Response;
160
+ }
161
+ export interface ObjectPromptInput extends StatelessGenerationInput {
162
+ agentId: string;
163
+ prompt: string;
164
+ promptId?: never;
165
+ schema: Record<string, unknown>;
166
+ signal?: AbortSignal;
167
+ variables?: never;
168
+ }
169
+ export interface ObjectPromptIdInput extends StatelessGenerationInput {
170
+ agentId: string;
171
+ prompt?: never;
172
+ promptId: string;
173
+ schema: Record<string, unknown>;
174
+ signal?: AbortSignal;
175
+ variables?: Record<string, string>;
176
+ }
177
+ export type ObjectInput = ObjectPromptInput | ObjectPromptIdInput;
178
+ export interface ObjectResult {
179
+ object: Promise<unknown>;
180
+ partialObjectStream: AsyncIterable<unknown>;
181
+ requestId?: string;
182
+ toResponse: () => Response;
183
+ }
184
+ export interface AgentsResource {
185
+ /** Omitting `workspaceId` attaches a default Workspace with a lazy runtime. */
186
+ create(body: CreateAgentBody): Promise<Agent>;
187
+ /** Deletes the Agent while preserving its attached Workspace. */
188
+ delete(agentId: string, includeArtifacts: boolean): Promise<void>;
189
+ disable(agentId: string): Promise<Agent>;
190
+ enable(agentId: string): Promise<Agent>;
191
+ get(agentId: string): Promise<Agent>;
192
+ getVersion(agentId: string, version: number): Promise<AgentVersion>;
193
+ list(options?: AgentsListOptions): Promise<AgentsResponse>;
194
+ listMcpAttachments(agentId: string): Promise<McpAttachmentsResponse>;
195
+ listVersions(agentId: string, options?: AgentVersionsListOptions): Promise<AgentVersionsResponse>;
196
+ removeAvatar(agentId: string): Promise<Agent>;
197
+ /**
198
+ * Copies an immutable Version's configuration into the Agent through the
199
+ * ordinary update path, creating a new latest Version without rewriting history.
200
+ */
201
+ restoreVersion(agentId: string, version: number): Promise<Agent>;
202
+ /** A concrete `workspaceId` switches the Agent; detachment is unsupported. */
203
+ update(agentId: string, body: UpdateAgentBody): Promise<Agent>;
204
+ updateMcpAttachment(agentId: string, mcpConnectionId: string, body: UpdateMcpAttachmentBody): Promise<McpAttachmentResponse>;
205
+ uploadAvatar(agentId: string, file: File): Promise<Agent>;
206
+ }
207
+ export interface AgentClient {
208
+ readonly skills: AgentSkillsResource;
209
+ }
210
+ export interface AgentsListOptions {
211
+ userId?: string;
212
+ workspaceId?: string;
213
+ }
214
+ export interface WorkspacesResource {
215
+ create(body?: CreateWorkspaceBody): Promise<Workspace>;
216
+ delete(input: {
217
+ workspaceId: string;
218
+ }): Promise<"completed" | "pending">;
219
+ get(input: {
220
+ workspaceId: string;
221
+ }): Promise<Workspace>;
222
+ list(options?: WorkspacesListOptions): Promise<WorkspacesListResponse>;
223
+ update(input: UpdateWorkspaceBody & {
224
+ workspaceId: string;
225
+ }): Promise<Workspace>;
226
+ }
227
+ export interface WorkspacesListOptions {
228
+ cursor?: string;
229
+ limit?: number;
230
+ userId?: string;
231
+ }
232
+ export interface AgentVersionsListOptions {
233
+ cursor?: string;
234
+ limit?: number;
235
+ }
236
+ export interface ArtifactsListOptions {
237
+ agentId?: string;
238
+ cursor?: string;
239
+ sessionId?: string;
240
+ }
241
+ export interface ArtifactsResource {
242
+ createDownloadUrl(artifactId: string): Promise<ArtifactDownloadUrlResponse>;
243
+ delete(artifactId: string): Promise<void>;
244
+ get(artifactId: string): Promise<ArtifactListItem>;
245
+ list(options?: ArtifactsListOptions): Promise<ArtifactsListResponse>;
246
+ }
247
+ export interface MemoriesResource {
248
+ create(agentId: string, body: CreateMemoryBody): Promise<MemoryResponse>;
249
+ delete(agentId: string, memoryId: string): Promise<void>;
250
+ get(agentId: string, memoryId: string): Promise<MemoryResponse>;
251
+ list(agentId: string, options?: MemoriesListOptions): Promise<MemoriesListResponse>;
252
+ update(agentId: string, memoryId: string, body: UpdateMemoryBody): Promise<MemoryResponse>;
253
+ }
254
+ export interface MemoriesListOptions {
255
+ cursor?: string;
256
+ limit?: number;
257
+ search?: string;
258
+ userId?: string;
259
+ }
260
+ export interface PromptsResource {
261
+ create(body: CreatePromptBody): Promise<PromptResponse>;
262
+ delete(promptId: string): Promise<void>;
263
+ get(promptId: string): Promise<PromptResponse>;
264
+ list(userId?: string): Promise<PromptsResponse>;
265
+ update(promptId: string, body: UpdatePromptBody): Promise<PromptResponse>;
266
+ }
267
+ export interface ProvidersResource {
268
+ create(body: CreateProviderBody): Promise<ProviderResponse>;
269
+ delete(id: string, options?: DeleteProviderOptions): Promise<void>;
270
+ get(id: string): Promise<ProviderResponse>;
271
+ list(): Promise<ProvidersResponse>;
272
+ listModels(id: string): Promise<ProviderModelsResponse>;
273
+ update(id: string, body: UpdateProviderBody): Promise<ProviderResponse>;
274
+ }
275
+ export interface McpConnectionsResource {
276
+ connect(id: string): Promise<McpConnectionOauthConnectResponse>;
277
+ create(body: CreateMcpConnectionBody): Promise<McpConnectionResponse>;
278
+ delete(id: string): Promise<void>;
279
+ get(id: string): Promise<McpConnectionResponse>;
280
+ list(): Promise<McpConnectionsResponse>;
281
+ reconnect(id: string, body: ReconnectMcpConnectionBody): Promise<McpConnectionReconnectResult>;
282
+ test(id: string): Promise<McpConnectionTestResponse>;
283
+ update(id: string, body: UpdateMcpConnectionBody): Promise<McpConnectionResponse>;
284
+ }
285
+ export interface SessionsListOptions {
286
+ cursor?: string;
287
+ limit?: number;
288
+ userId?: string;
289
+ }
290
+ export interface SessionMessagesOptions {
291
+ after?: string;
292
+ cursor?: string;
293
+ limit?: number;
294
+ }
295
+ export interface SessionsResource {
296
+ decideToolApproval(agentId: string, sessionId: string, approvalId: string, decision: DecideToolApprovalBody, options?: {
297
+ signal?: AbortSignal;
298
+ }): Promise<ToolApprovalDecisionResponse>;
299
+ delete(agentId: string, sessionId: string, deleteArtifacts: boolean): Promise<void>;
300
+ joinToolApprovalContinuation(agentId: string, sessionId: string, continuationId: string, options?: {
301
+ signal?: AbortSignal;
302
+ }): Promise<TerminalStreamResult>;
303
+ list(agentId: string, options?: SessionsListOptions): Promise<SessionsListResponse>;
304
+ messages(agentId: string, sessionId: string, options?: SessionMessagesOptions): Promise<SessionMessagesResponse>;
305
+ toolApprovals(agentId: string, sessionId: string): Promise<ToolApprovalsResponse>;
306
+ }
307
+ export interface AgentSkillsResource {
308
+ copy(input: {
309
+ skillId: string;
310
+ to: {
311
+ agentIds: string[];
312
+ };
313
+ }): Promise<SkillCopyResults>;
314
+ create(input: CreateSkillBody): Promise<SkillDetail>;
315
+ delete(input: {
316
+ skillId: string;
317
+ }): Promise<void>;
318
+ deleteFile(input: {
319
+ path: string;
320
+ skillId: string;
321
+ }): Promise<SkillDetail>;
322
+ get(input: {
323
+ skillId: string;
324
+ }): Promise<SkillDetail>;
325
+ getFile(input: {
326
+ path: string;
327
+ skillId: string;
328
+ }): Promise<Uint8Array>;
329
+ list(options?: SkillsListOptions): Promise<SkillsListResponse>;
330
+ putFile(input: {
331
+ content: Blob | string | Uint8Array;
332
+ path: string;
333
+ skillId: string;
334
+ }): Promise<SkillDetail>;
335
+ upload(input: {
336
+ source: {
337
+ file: Blob | Uint8Array;
338
+ type: SkillArchiveType;
339
+ };
340
+ }): Promise<SkillDetail>;
341
+ }
342
+ export interface SkillsListOptions {
343
+ cursor?: string;
344
+ limit?: number;
345
+ }
346
+ export interface TasksListOptions {
347
+ agentId?: string;
348
+ cursor?: string;
349
+ limit?: number;
350
+ userId?: string;
351
+ }
352
+ export interface TaskRunsListOptions {
353
+ cursor?: string;
354
+ limit?: number;
355
+ }
356
+ export interface TaskRunMessagesOptions {
357
+ after?: string;
358
+ cursor?: string;
359
+ limit?: number;
360
+ }
361
+ export interface TasksResource {
362
+ cancelRun(taskId: string, runId: string): Promise<void>;
363
+ create(body: CreateTaskBody): Promise<CreateTaskResponse>;
364
+ createRun(taskId: string, body?: CreateTaskRunBody): Promise<CreateTaskRunResponse>;
365
+ delete(taskId: string): Promise<void>;
366
+ get(taskId: string): Promise<TaskResponse>;
367
+ getRun(taskId: string, runId: string): Promise<TaskRunResponse>;
368
+ list(options?: TasksListOptions): Promise<TasksListResponse>;
369
+ listRuns(taskId: string, options?: TaskRunsListOptions): Promise<TaskRunsListResponse>;
370
+ runMessages(taskId: string, runId: string, options?: TaskRunMessagesOptions): Promise<TaskRunMessagesResponse>;
371
+ update(taskId: string, body: UpdateTaskBody): Promise<TaskResponse>;
372
+ }
373
+ export interface TenantResource {
374
+ get(): Promise<TenantSettingsResponse>;
375
+ patch(body: UpdateTenantSettingsBody): Promise<TenantSettingsResponse>;
376
+ }
377
+ export interface UsageResource {
378
+ get(query?: Partial<UsageQuery>): Promise<UsageResponse>;
379
+ getForAgent(agentId: string, query?: Partial<UsageQuery>): Promise<UsageResponse>;
380
+ }
381
+ export {};
package/dist/types.js ADDED
@@ -0,0 +1 @@
1
+ export {};
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "@blazingagents/sdk",
3
+ "version": "0.1.0",
4
+ "description": "TypeScript SDK for the Blazing Agents API",
5
+ "homepage": "https://docs.blazingagents.com",
6
+ "bugs": {
7
+ "url": "https://github.com/blazingagents/typescript-sdk/issues"
8
+ },
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/blazingagents/typescript-sdk.git"
12
+ },
13
+ "license": "MIT",
14
+ "sideEffects": false,
15
+ "type": "module",
16
+ "exports": {
17
+ ".": {
18
+ "types": "./dist/index.d.ts",
19
+ "import": "./dist/index.js"
20
+ },
21
+ "./contracts": {
22
+ "types": "./dist/contracts/index.d.ts",
23
+ "import": "./dist/contracts/index.js"
24
+ }
25
+ },
26
+ "types": "./dist/index.d.ts",
27
+ "files": [
28
+ "dist",
29
+ "README.md"
30
+ ],
31
+ "scripts": {
32
+ "build": "rm -rf dist && tsc -p tsconfig.build.json",
33
+ "check": "npm run typecheck && npm run test && npm run lint",
34
+ "fix": "ultracite fix",
35
+ "lint": "ultracite check",
36
+ "prepack": "npm run build",
37
+ "test": "vitest run --coverage",
38
+ "test:consumer": "npm run build && vitest run -c vitest.consumer.config.mts",
39
+ "typecheck": "tsc --noEmit -p tsconfig.json && tsc --noEmit -p tsconfig.tests.json"
40
+ },
41
+ "dependencies": {
42
+ "croner": "10.0.1",
43
+ "nanoid": "6.0.1",
44
+ "yaml": "2.9.0",
45
+ "zod": "4.5.4"
46
+ },
47
+ "devDependencies": {
48
+ "@biomejs/biome": "^2.5.8",
49
+ "@types/node": "^26.4.0",
50
+ "@vitest/coverage-v8": "^4.1.10",
51
+ "ai": "^7.0.84",
52
+ "typescript": "^7.0.2",
53
+ "ultracite": "^7.10.2",
54
+ "vitest": "^4.1.10"
55
+ },
56
+ "peerDependencies": {
57
+ "ai": "^7.0.84"
58
+ },
59
+ "engines": {
60
+ "node": ">=24"
61
+ },
62
+ "publishConfig": {
63
+ "access": "public"
64
+ }
65
+ }