ai-props 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/.turbo/turbo-build.log +4 -0
  2. package/CHANGELOG.md +9 -0
  3. package/dist/ai.d.ts +125 -0
  4. package/dist/ai.d.ts.map +1 -0
  5. package/dist/ai.js +199 -0
  6. package/dist/ai.js.map +1 -0
  7. package/dist/cache.d.ts +66 -0
  8. package/dist/cache.d.ts.map +1 -0
  9. package/dist/cache.js +183 -0
  10. package/dist/cache.js.map +1 -0
  11. package/dist/cascade.d.ts +329 -0
  12. package/dist/cascade.d.ts.map +1 -0
  13. package/dist/cascade.js +522 -0
  14. package/dist/cascade.js.map +1 -0
  15. package/dist/client.d.ts +233 -0
  16. package/dist/client.d.ts.map +1 -0
  17. package/dist/client.js +191 -0
  18. package/dist/client.js.map +1 -0
  19. package/dist/durable-cascade.d.ts +280 -0
  20. package/dist/durable-cascade.d.ts.map +1 -0
  21. package/dist/durable-cascade.js +469 -0
  22. package/dist/durable-cascade.js.map +1 -0
  23. package/dist/event-bridge.d.ts +257 -0
  24. package/dist/event-bridge.d.ts.map +1 -0
  25. package/dist/event-bridge.js +317 -0
  26. package/dist/event-bridge.js.map +1 -0
  27. package/dist/generate.d.ts +69 -0
  28. package/dist/generate.d.ts.map +1 -0
  29. package/dist/generate.js +227 -0
  30. package/dist/generate.js.map +1 -0
  31. package/dist/hoc.d.ts +164 -0
  32. package/dist/hoc.d.ts.map +1 -0
  33. package/dist/hoc.js +236 -0
  34. package/dist/hoc.js.map +1 -0
  35. package/dist/hono-jsx.d.ts +208 -0
  36. package/dist/hono-jsx.d.ts.map +1 -0
  37. package/dist/hono-jsx.js +459 -0
  38. package/dist/hono-jsx.js.map +1 -0
  39. package/dist/index.d.ts +16 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +23 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/mdx-types.d.ts +152 -0
  44. package/dist/mdx-types.d.ts.map +1 -0
  45. package/dist/mdx-types.js +9 -0
  46. package/dist/mdx-types.js.map +1 -0
  47. package/dist/mdx-utils.d.ts +106 -0
  48. package/dist/mdx-utils.d.ts.map +1 -0
  49. package/dist/mdx-utils.js +384 -0
  50. package/dist/mdx-utils.js.map +1 -0
  51. package/dist/mdx.d.ts +230 -0
  52. package/dist/mdx.d.ts.map +1 -0
  53. package/dist/mdx.js +820 -0
  54. package/dist/mdx.js.map +1 -0
  55. package/dist/rpc.d.ts +313 -0
  56. package/dist/rpc.d.ts.map +1 -0
  57. package/dist/rpc.js +359 -0
  58. package/dist/rpc.js.map +1 -0
  59. package/dist/streaming.d.ts +199 -0
  60. package/dist/streaming.d.ts.map +1 -0
  61. package/dist/streaming.js +402 -0
  62. package/dist/streaming.js.map +1 -0
  63. package/dist/types.d.ts +152 -0
  64. package/dist/types.d.ts.map +1 -0
  65. package/dist/types.js +7 -0
  66. package/dist/types.js.map +1 -0
  67. package/dist/validate.d.ts +58 -0
  68. package/dist/validate.d.ts.map +1 -0
  69. package/dist/validate.js +251 -0
  70. package/dist/validate.js.map +1 -0
  71. package/dist/worker.d.ts +270 -0
  72. package/dist/worker.d.ts.map +1 -0
  73. package/dist/worker.js +405 -0
  74. package/dist/worker.js.map +1 -0
  75. package/package.json +4 -4
@@ -0,0 +1,280 @@
1
+ /**
2
+ * DurableCascadeExecutor - Durable tiered execution with cascade pattern for Workers
3
+ *
4
+ * Combines the cascade pattern (code -> generative -> agentic -> human)
5
+ * with Cloudflare Workflows durability guarantees for use in worker contexts.
6
+ *
7
+ * ## Features
8
+ *
9
+ * - **Durable Execution**: Steps are persisted and can resume after failures
10
+ * - **AI Gateway Integration**: Helpers for Cloudflare AI Gateway configuration
11
+ * - **Automatic Checkpointing**: Each tier creates a durable checkpoint
12
+ * - **Tier Escalation**: Automatic escalation on failure
13
+ * - **5W+H Audit Events**: Full audit trail support
14
+ *
15
+ * ## Basic Usage
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * import { DurableCascadeExecutor, createAIGatewayConfig } from 'ai-props/worker'
20
+ *
21
+ * const cascade = new DurableCascadeExecutor('generate-content', {
22
+ * code: async (input) => {
23
+ * if (input.template) return { content: input.template }
24
+ * throw new Error('No template')
25
+ * },
26
+ * generative: async (input, ctx) => {
27
+ * const result = await ctx.ai.run('@cf/meta/llama-3-8b-instruct', {
28
+ * messages: [{ role: 'user', content: 'Generate content' }]
29
+ * })
30
+ * return { content: result.response }
31
+ * }
32
+ * })
33
+ *
34
+ * // In workflow
35
+ * const result = await cascade.run(step, { topic: 'AI' })
36
+ * ```
37
+ *
38
+ * @packageDocumentation
39
+ */
40
+ import { CascadeExecutor, type CascadeConfig, type CascadeResult, type CascadeContext, type TierContext, type TierHandler, type CapabilityTier, type FiveWHEvent, type TierResult, TIER_ORDER, DEFAULT_TIER_TIMEOUTS, createCascadeContext, recordStep, AllTiersFailedError, CascadeTimeoutError } from './cascade.js';
41
+ export { CascadeExecutor, type CascadeConfig, type CascadeResult, type CascadeContext, type TierContext, type TierHandler, type CapabilityTier, type FiveWHEvent, type TierResult, TIER_ORDER, DEFAULT_TIER_TIMEOUTS, createCascadeContext, recordStep, AllTiersFailedError, CascadeTimeoutError, };
42
+ /**
43
+ * Configuration for retry behavior (Cloudflare Workflows format)
44
+ */
45
+ export interface DurableRetryConfig {
46
+ /** Maximum number of retry attempts */
47
+ limit: number;
48
+ /** Delay between retries (string like '1 second' or number in ms) */
49
+ delay?: string | number;
50
+ /** Backoff strategy */
51
+ backoff?: 'constant' | 'linear' | 'exponential';
52
+ }
53
+ /**
54
+ * Configuration for a durable step
55
+ */
56
+ export interface DurableStepConfig {
57
+ /** Retry configuration */
58
+ retries?: DurableRetryConfig;
59
+ /** Timeout for the step (string like '30 seconds' or number in ms) */
60
+ timeout?: string | number;
61
+ }
62
+ /**
63
+ * Interface for Cloudflare Workflows step object
64
+ */
65
+ export interface WorkflowStep {
66
+ do<T>(name: string, callback: () => Promise<T>): Promise<T>;
67
+ do<T>(name: string, config: DurableStepConfig, callback: () => Promise<T>): Promise<T>;
68
+ sleep(name: string, duration: string | number): Promise<void>;
69
+ sleepUntil(name: string, timestamp: Date | number): Promise<void>;
70
+ }
71
+ /**
72
+ * AI binding interface (matches Cloudflare AI binding)
73
+ */
74
+ export interface AiBinding {
75
+ run<T = unknown>(model: string, options: {
76
+ messages: Array<{
77
+ role: string;
78
+ content: string;
79
+ }>;
80
+ }): Promise<T & {
81
+ response?: string;
82
+ }>;
83
+ }
84
+ /**
85
+ * Human review request
86
+ */
87
+ export interface HumanReviewRequest {
88
+ type: string;
89
+ data: unknown;
90
+ assignee?: string;
91
+ }
92
+ /**
93
+ * Context provided to durable cascade tier handlers
94
+ */
95
+ export interface DurableCascadeTierContext<TInput = unknown> extends TierContext<TInput> {
96
+ /** AI binding for generative/agentic tiers */
97
+ ai: AiBinding;
98
+ /** Request human review */
99
+ requestHumanReview: (request: HumanReviewRequest) => Promise<{
100
+ reviewId: string;
101
+ status: string;
102
+ }>;
103
+ /** Workflow step for nested durable operations */
104
+ workflowStep: WorkflowStep;
105
+ }
106
+ /**
107
+ * Code tier handler (deterministic, fast)
108
+ */
109
+ export type CodeTierHandler<TInput, TOutput> = (input: TInput) => Promise<TOutput>;
110
+ /**
111
+ * AI tier handler (generative or agentic)
112
+ */
113
+ export type AiTierHandler<TInput, TOutput> = (input: TInput, ctx: DurableCascadeTierContext<TInput>) => Promise<TOutput>;
114
+ /**
115
+ * Human tier handler
116
+ */
117
+ export type HumanTierHandler<TInput, TOutput> = (input: TInput, ctx: DurableCascadeTierContext<TInput>) => Promise<TOutput>;
118
+ /**
119
+ * Configuration for DurableCascadeExecutor
120
+ */
121
+ export interface DurableCascadeConfig<TInput = unknown, TOutput = unknown> {
122
+ /** Code tier handler (deterministic, fast) */
123
+ code?: CodeTierHandler<TInput, TOutput>;
124
+ /** Generative AI tier handler */
125
+ generative?: AiTierHandler<TInput, TOutput>;
126
+ /** Agentic AI tier handler (multi-step reasoning) */
127
+ agentic?: AiTierHandler<TInput, TOutput>;
128
+ /** Human tier handler (human-in-the-loop) */
129
+ human?: HumanTierHandler<TInput, TOutput>;
130
+ /** Per-tier timeout configuration (in ms) */
131
+ timeouts?: Partial<Record<CapabilityTier, number>>;
132
+ /** Total cascade timeout (in ms) */
133
+ totalTimeout?: number;
134
+ /** Per-tier retry configuration */
135
+ tierConfig?: Partial<Record<CapabilityTier, {
136
+ retries?: {
137
+ limit: number;
138
+ delay?: number;
139
+ backoff?: 'constant' | 'linear' | 'exponential';
140
+ };
141
+ successCondition?: (result: unknown) => boolean;
142
+ onError?: (error: Error, tier: CapabilityTier) => void;
143
+ }>>;
144
+ /** Event callback for 5W+H audit events */
145
+ onEvent?: (event: FiveWHEvent) => void;
146
+ /** Actor identifier for audit trail */
147
+ actor?: string;
148
+ }
149
+ /**
150
+ * AI Gateway configuration for Cloudflare Workers
151
+ */
152
+ export interface AIGatewayConfig {
153
+ /** Gateway ID */
154
+ gatewayId: string;
155
+ /** Account ID */
156
+ accountId: string;
157
+ /** Cache TTL in seconds (0 to disable) */
158
+ cacheTtl?: number;
159
+ /** Skip cache for this request */
160
+ skipCache?: boolean;
161
+ /** Custom metadata to attach to requests */
162
+ metadata?: Record<string, string>;
163
+ }
164
+ /**
165
+ * Create AI Gateway configuration for use with cascades
166
+ *
167
+ * @example
168
+ * ```typescript
169
+ * const gatewayConfig = createAIGatewayConfig({
170
+ * gatewayId: 'my-gateway',
171
+ * accountId: env.CF_ACCOUNT_ID,
172
+ * cacheTtl: 3600, // 1 hour
173
+ * })
174
+ *
175
+ * // Use with AI binding
176
+ * const result = await env.AI.run('@cf/meta/llama-3-8b-instruct', {
177
+ * messages: [...],
178
+ * ...gatewayConfig.toRequestOptions()
179
+ * })
180
+ * ```
181
+ */
182
+ export declare function createAIGatewayConfig(config: AIGatewayConfig): {
183
+ config: AIGatewayConfig;
184
+ toRequestOptions: () => Record<string, unknown>;
185
+ getCacheKey: (input: unknown) => string;
186
+ };
187
+ /**
188
+ * DurableCascadeExecutor - Durable tiered execution with cascade pattern
189
+ *
190
+ * Combines the cascade pattern (code -> generative -> agentic -> human)
191
+ * with Cloudflare Workflows durability guarantees. Each tier execution
192
+ * creates a durable checkpoint that survives process restarts.
193
+ */
194
+ export declare class DurableCascadeExecutor<TInput = unknown, TOutput = unknown> {
195
+ /** Cascade name */
196
+ readonly name: string;
197
+ /** Cascade configuration */
198
+ readonly config: DurableCascadeConfig<TInput, TOutput>;
199
+ /** AI binding (injected at runtime) */
200
+ private ai?;
201
+ /** Human review handler */
202
+ private humanReviewHandler?;
203
+ constructor(name: string, config: DurableCascadeConfig<TInput, TOutput>);
204
+ /**
205
+ * Set the AI binding for generative/agentic tiers
206
+ */
207
+ setAi(ai: AiBinding): this;
208
+ /**
209
+ * Set the human review handler
210
+ */
211
+ setHumanReviewHandler(handler: (request: HumanReviewRequest) => Promise<{
212
+ reviewId: string;
213
+ status: string;
214
+ }>): this;
215
+ /**
216
+ * Run the cascade with durable execution
217
+ */
218
+ run(workflowStep: WorkflowStep, input: TInput, options?: {
219
+ ai?: AiBinding;
220
+ humanReviewHandler?: (request: HumanReviewRequest) => Promise<{
221
+ reviewId: string;
222
+ status: string;
223
+ }>;
224
+ }): Promise<CascadeResult<TOutput>>;
225
+ /**
226
+ * Execute a single tier with durability
227
+ */
228
+ private executeTier;
229
+ /**
230
+ * Get the handler for a tier
231
+ */
232
+ private getTierHandler;
233
+ /**
234
+ * Get the next configured tier
235
+ */
236
+ private getNextConfiguredTier;
237
+ /**
238
+ * Emit a 5W+H event
239
+ */
240
+ private emitEvent;
241
+ /**
242
+ * Create a mock AI binding for testing
243
+ */
244
+ private createMockAi;
245
+ }
246
+ /**
247
+ * Create a durable cascade step for common AI props patterns
248
+ *
249
+ * @example
250
+ * ```typescript
251
+ * const titleCascade = createDurableCascadeStep({
252
+ * name: 'generate-title',
253
+ * code: async (input) => {
254
+ * if (input.template) return { title: input.template }
255
+ * throw new Error('No template')
256
+ * },
257
+ * generative: async (input, ctx) => {
258
+ * const result = await ctx.ai.run('@cf/meta/llama-3-8b-instruct', {
259
+ * messages: [{ role: 'user', content: `Generate a title for: ${input.topic}` }]
260
+ * })
261
+ * return { title: result.response }
262
+ * }
263
+ * })
264
+ *
265
+ * // In workflow
266
+ * const result = await titleCascade.run(step, { topic: 'AI' })
267
+ * ```
268
+ */
269
+ export declare function createDurableCascadeStep<TInput = unknown, TOutput = unknown>(config: {
270
+ name: string;
271
+ code?: CodeTierHandler<TInput, TOutput>;
272
+ generative?: AiTierHandler<TInput, TOutput>;
273
+ agentic?: AiTierHandler<TInput, TOutput>;
274
+ human?: HumanTierHandler<TInput, TOutput>;
275
+ timeouts?: Partial<Record<CapabilityTier, number>>;
276
+ tierConfig?: DurableCascadeConfig<TInput, TOutput>['tierConfig'];
277
+ onEvent?: (event: FiveWHEvent) => void;
278
+ actor?: string;
279
+ }): DurableCascadeExecutor<TInput, TOutput>;
280
+ //# sourceMappingURL=durable-cascade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"durable-cascade.d.ts","sourceRoot":"","sources":["../src/durable-cascade.ts"],"names":[],"mappings":"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"}