@digo-labs/backend 0.2.7 → 0.2.9

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.
package/README.md CHANGED
@@ -17,7 +17,7 @@ Patterns are documented in the design system: [Backend Patterns](https://design.
17
17
  npm run dev # tsx watch on port 3000
18
18
  ```
19
19
 
20
- Requires env vars (`DATABASE_URL_MONOREPO` at minimum; `FAL_KEY` and `REPLICATE_API_TOKEN` for the proxy and AI jobs, `OPENAI_API_KEY` for AI jobs' OpenAI links) — the usual workflow is developing apps against the deployed backend instead, which needs nothing locally. See [Environment and Local Backend](https://design.digo-labs.com/docs/guide/environment-and-local-backend).
20
+ Requires env vars (`DATABASE_URL_MONOREPO` at minimum; `FAL_KEY` and `REPLICATE_API_TOKEN` for the proxy and AI jobs, `OPENAI_API_KEY` for AI jobs' OpenAI links and OpenAI text, `ANTHROPIC_API_KEY` for Anthropic text) — the usual workflow is developing apps against the deployed backend instead, which needs nothing locally. See [Environment and Local Backend](https://design.digo-labs.com/docs/guide/environment-and-local-backend).
21
21
 
22
22
  ## Build
23
23
 
package/dist/index.d.cts CHANGED
@@ -247,6 +247,84 @@ declare const bedrockRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, hono_t
247
247
  id: string;
248
248
  version: string;
249
249
  } | undefined;
250
+ reasoningEffort?: "max" | "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | undefined;
251
+ thinking?: "adaptive" | "disabled" | "between_tools" | undefined;
252
+ };
253
+ };
254
+ output: {};
255
+ outputFormat: string;
256
+ status: hono_utils_http_status.StatusCode;
257
+ };
258
+ };
259
+ }, "/ai">, "/", "/">;
260
+
261
+ declare const anthropicRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, hono_types.BlankSchema | hono_types.MergeSchemaPath<{
262
+ "anthropic-text": {
263
+ $post: {
264
+ input: {
265
+ json: {
266
+ messages: {
267
+ role: "user" | "assistant";
268
+ content: string | ({
269
+ type: "text";
270
+ text: string;
271
+ } | {
272
+ type: "image";
273
+ source: {
274
+ base64: string;
275
+ mediaType: string;
276
+ };
277
+ })[];
278
+ }[];
279
+ model?: string | undefined;
280
+ systemPrompt?: string | undefined;
281
+ temperature?: number | undefined;
282
+ maxTokens?: number | undefined;
283
+ stopSequences?: string[] | undefined;
284
+ guardrail?: {
285
+ id: string;
286
+ version: string;
287
+ } | undefined;
288
+ reasoningEffort?: "max" | "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | undefined;
289
+ thinking?: "adaptive" | "disabled" | "between_tools" | undefined;
290
+ };
291
+ };
292
+ output: {};
293
+ outputFormat: string;
294
+ status: hono_utils_http_status.StatusCode;
295
+ };
296
+ };
297
+ }, "/ai">, "/", "/">;
298
+
299
+ declare const openAiRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, hono_types.BlankSchema | hono_types.MergeSchemaPath<{
300
+ "openai-text": {
301
+ $post: {
302
+ input: {
303
+ json: {
304
+ messages: ({
305
+ content: string | ({
306
+ type: "text";
307
+ text: string;
308
+ } | {
309
+ type: "image";
310
+ source: {
311
+ base64: string;
312
+ mediaType: string;
313
+ };
314
+ })[];
315
+ role: "user";
316
+ } | {
317
+ role: "assistant";
318
+ content: string | {
319
+ type: "text";
320
+ text: string;
321
+ }[];
322
+ })[];
323
+ systemPrompt?: string | undefined;
324
+ temperature?: number | undefined;
325
+ reasoningEffort?: "max" | "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | undefined;
326
+ model?: "gpt-6-luna" | "gpt-6.1-terra" | "gpt-6.1-sol" | undefined;
327
+ maxTokens?: number | undefined;
250
328
  };
251
329
  };
252
330
  output: {};
@@ -365,7 +443,7 @@ declare const aiJobsRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, ((({
365
443
  status: "checking" | "running" | "done" | "rejected" | "failed" | "cancelled";
366
444
  verdict: "reject" | "review" | "pass" | null;
367
445
  checks: {
368
- type: "rekognition" | "bedrock";
446
+ type: "bedrock" | "rekognition";
369
447
  target: string;
370
448
  verdict: "reject" | "review" | "pass";
371
449
  labels: string[];
@@ -374,13 +452,13 @@ declare const aiJobsRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, ((({
374
452
  }[];
375
453
  tasks: {
376
454
  key: string;
377
- endpoint: "fal:openai/gpt-image-2.5/flare/edit" | "fal:openai/gpt-image-2.5/sunburst/edit" | "fal:openai/gpt-image-2.6/flare/edit" | "openai:gpt-image-2.5-flare" | "openai:gpt-image-2.5-sunburst" | "openai:gpt-image-2.6-flare" | "replicate:openai/gpt-image-2" | "replicate:openai/gpt-image-2.6-flare" | "replicate:google/nano-banana-pro" | "fake:echo";
455
+ endpoint: "fake:echo" | `openai:${string}` | `fal:${string}` | `replicate:${string}`;
378
456
  status: "done" | "rejected" | "failed" | "cancelled" | "pending" | "submitted" | "saving";
379
457
  attempt: number;
380
458
  outputPath: string;
381
459
  verdict: "reject" | "review" | "pass" | null;
382
460
  checks: {
383
- type: "rekognition" | "bedrock";
461
+ type: "bedrock" | "rekognition";
384
462
  target: string;
385
463
  verdict: "reject" | "review" | "pass";
386
464
  labels: string[];
@@ -389,7 +467,7 @@ declare const aiJobsRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, ((({
389
467
  }[];
390
468
  error: "submit failed" | "provider error" | "provider timed out" | "save failed" | null;
391
469
  estimatedUsd: number;
392
- servedBy?: "fal:openai/gpt-image-2.5/flare/edit" | "fal:openai/gpt-image-2.5/sunburst/edit" | "fal:openai/gpt-image-2.6/flare/edit" | "openai:gpt-image-2.5-flare" | "openai:gpt-image-2.5-sunburst" | "openai:gpt-image-2.6-flare" | "replicate:openai/gpt-image-2" | "replicate:openai/gpt-image-2.6-flare" | "replicate:google/nano-banana-pro" | "fake:echo" | null | undefined;
470
+ servedBy?: "fake:echo" | `openai:${string}` | `fal:${string}` | `replicate:${string}` | null | undefined;
393
471
  }[];
394
472
  createdAt: string;
395
473
  updatedAt: string;
@@ -407,14 +485,14 @@ declare const aiJobsRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, ((({
407
485
  key: string;
408
486
  tasks: {
409
487
  key: string;
410
- endpoint: "fal:openai/gpt-image-2.5/flare/edit" | "fal:openai/gpt-image-2.5/sunburst/edit" | "fal:openai/gpt-image-2.6/flare/edit" | "openai:gpt-image-2.5-flare" | "openai:gpt-image-2.5-sunburst" | "openai:gpt-image-2.6-flare" | "replicate:openai/gpt-image-2" | "replicate:openai/gpt-image-2.6-flare" | "replicate:google/nano-banana-pro" | "fake:echo";
488
+ endpoint: "fake:echo" | `openai:${string}` | `fal:${string}` | `replicate:${string}`;
411
489
  input: Record<string, unknown>;
412
490
  output: {
413
491
  path: string;
414
492
  };
415
493
  priority?: number | undefined;
416
494
  fallbacks?: {
417
- endpoint: "fal:openai/gpt-image-2.5/flare/edit" | "fal:openai/gpt-image-2.5/sunburst/edit" | "fal:openai/gpt-image-2.6/flare/edit" | "openai:gpt-image-2.5-flare" | "openai:gpt-image-2.5-sunburst" | "openai:gpt-image-2.6-flare" | "replicate:openai/gpt-image-2" | "replicate:openai/gpt-image-2.6-flare" | "replicate:google/nano-banana-pro" | "fake:echo";
495
+ endpoint: "fake:echo" | `openai:${string}` | `fal:${string}` | `replicate:${string}`;
418
496
  input?: Record<string, unknown> | undefined;
419
497
  }[] | undefined;
420
498
  fallbackAfter?: number | undefined;
@@ -498,7 +576,7 @@ declare const aiJobsRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, ((({
498
576
  status: "checking" | "running" | "done" | "rejected" | "failed" | "cancelled";
499
577
  verdict: "reject" | "review" | "pass" | null;
500
578
  checks: {
501
- type: "rekognition" | "bedrock";
579
+ type: "bedrock" | "rekognition";
502
580
  target: string;
503
581
  verdict: "reject" | "review" | "pass";
504
582
  labels: string[];
@@ -507,13 +585,13 @@ declare const aiJobsRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, ((({
507
585
  }[];
508
586
  tasks: {
509
587
  key: string;
510
- endpoint: "fal:openai/gpt-image-2.5/flare/edit" | "fal:openai/gpt-image-2.5/sunburst/edit" | "fal:openai/gpt-image-2.6/flare/edit" | "openai:gpt-image-2.5-flare" | "openai:gpt-image-2.5-sunburst" | "openai:gpt-image-2.6-flare" | "replicate:openai/gpt-image-2" | "replicate:openai/gpt-image-2.6-flare" | "replicate:google/nano-banana-pro" | "fake:echo";
588
+ endpoint: "fake:echo" | `openai:${string}` | `fal:${string}` | `replicate:${string}`;
511
589
  status: "done" | "rejected" | "failed" | "cancelled" | "pending" | "submitted" | "saving";
512
590
  attempt: number;
513
591
  outputPath: string;
514
592
  verdict: "reject" | "review" | "pass" | null;
515
593
  checks: {
516
- type: "rekognition" | "bedrock";
594
+ type: "bedrock" | "rekognition";
517
595
  target: string;
518
596
  verdict: "reject" | "review" | "pass";
519
597
  labels: string[];
@@ -522,7 +600,7 @@ declare const aiJobsRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, ((({
522
600
  }[];
523
601
  error: "submit failed" | "provider error" | "provider timed out" | "save failed" | null;
524
602
  estimatedUsd: number;
525
- servedBy?: "fal:openai/gpt-image-2.5/flare/edit" | "fal:openai/gpt-image-2.5/sunburst/edit" | "fal:openai/gpt-image-2.6/flare/edit" | "openai:gpt-image-2.5-flare" | "openai:gpt-image-2.5-sunburst" | "openai:gpt-image-2.6-flare" | "replicate:openai/gpt-image-2" | "replicate:openai/gpt-image-2.6-flare" | "replicate:google/nano-banana-pro" | "fake:echo" | null | undefined;
603
+ servedBy?: "fake:echo" | `openai:${string}` | `fal:${string}` | `replicate:${string}` | null | undefined;
526
604
  }[];
527
605
  createdAt: string;
528
606
  updatedAt: string;
@@ -540,14 +618,14 @@ declare const aiJobsRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, ((({
540
618
  id: string;
541
619
  tasks: {
542
620
  key: string;
543
- endpoint: "fal:openai/gpt-image-2.5/flare/edit" | "fal:openai/gpt-image-2.5/sunburst/edit" | "fal:openai/gpt-image-2.6/flare/edit" | "openai:gpt-image-2.5-flare" | "openai:gpt-image-2.5-sunburst" | "openai:gpt-image-2.6-flare" | "replicate:openai/gpt-image-2" | "replicate:openai/gpt-image-2.6-flare" | "replicate:google/nano-banana-pro" | "fake:echo";
621
+ endpoint: "fake:echo" | `openai:${string}` | `fal:${string}` | `replicate:${string}`;
544
622
  input: Record<string, unknown>;
545
623
  output: {
546
624
  path: string;
547
625
  };
548
626
  priority?: number | undefined;
549
627
  fallbacks?: {
550
- endpoint: "fal:openai/gpt-image-2.5/flare/edit" | "fal:openai/gpt-image-2.5/sunburst/edit" | "fal:openai/gpt-image-2.6/flare/edit" | "openai:gpt-image-2.5-flare" | "openai:gpt-image-2.5-sunburst" | "openai:gpt-image-2.6-flare" | "replicate:openai/gpt-image-2" | "replicate:openai/gpt-image-2.6-flare" | "replicate:google/nano-banana-pro" | "fake:echo";
628
+ endpoint: "fake:echo" | `openai:${string}` | `fal:${string}` | `replicate:${string}`;
551
629
  input?: Record<string, unknown> | undefined;
552
630
  }[] | undefined;
553
631
  fallbackAfter?: number | undefined;
@@ -561,7 +639,7 @@ declare const aiJobsRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, ((({
561
639
  status: "checking" | "running" | "done" | "rejected" | "failed" | "cancelled";
562
640
  verdict: "reject" | "review" | "pass" | null;
563
641
  checks: {
564
- type: "rekognition" | "bedrock";
642
+ type: "bedrock" | "rekognition";
565
643
  target: string;
566
644
  verdict: "reject" | "review" | "pass";
567
645
  labels: string[];
@@ -570,13 +648,13 @@ declare const aiJobsRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, ((({
570
648
  }[];
571
649
  tasks: {
572
650
  key: string;
573
- endpoint: "fal:openai/gpt-image-2.5/flare/edit" | "fal:openai/gpt-image-2.5/sunburst/edit" | "fal:openai/gpt-image-2.6/flare/edit" | "openai:gpt-image-2.5-flare" | "openai:gpt-image-2.5-sunburst" | "openai:gpt-image-2.6-flare" | "replicate:openai/gpt-image-2" | "replicate:openai/gpt-image-2.6-flare" | "replicate:google/nano-banana-pro" | "fake:echo";
651
+ endpoint: "fake:echo" | `openai:${string}` | `fal:${string}` | `replicate:${string}`;
574
652
  status: "done" | "rejected" | "failed" | "cancelled" | "pending" | "submitted" | "saving";
575
653
  attempt: number;
576
654
  outputPath: string;
577
655
  verdict: "reject" | "review" | "pass" | null;
578
656
  checks: {
579
- type: "rekognition" | "bedrock";
657
+ type: "bedrock" | "rekognition";
580
658
  target: string;
581
659
  verdict: "reject" | "review" | "pass";
582
660
  labels: string[];
@@ -585,7 +663,7 @@ declare const aiJobsRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, ((({
585
663
  }[];
586
664
  error: "submit failed" | "provider error" | "provider timed out" | "save failed" | null;
587
665
  estimatedUsd: number;
588
- servedBy?: "fal:openai/gpt-image-2.5/flare/edit" | "fal:openai/gpt-image-2.5/sunburst/edit" | "fal:openai/gpt-image-2.6/flare/edit" | "openai:gpt-image-2.5-flare" | "openai:gpt-image-2.5-sunburst" | "openai:gpt-image-2.6-flare" | "replicate:openai/gpt-image-2" | "replicate:openai/gpt-image-2.6-flare" | "replicate:google/nano-banana-pro" | "fake:echo" | null | undefined;
666
+ servedBy?: "fake:echo" | `openai:${string}` | `fal:${string}` | `replicate:${string}` | null | undefined;
589
667
  }[];
590
668
  createdAt: string;
591
669
  updatedAt: string;
@@ -641,7 +719,7 @@ declare const aiJobsRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, ((({
641
719
  output: {
642
720
  verdict: "reject" | "review" | "pass";
643
721
  checks: {
644
- type: "rekognition" | "bedrock";
722
+ type: "bedrock" | "rekognition";
645
723
  target: string;
646
724
  verdict: "reject" | "review" | "pass";
647
725
  labels: string[];
@@ -668,7 +746,7 @@ declare const aiJobsRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, ((({
668
746
  status: "checking" | "running" | "done" | "rejected" | "failed" | "cancelled";
669
747
  verdict: "reject" | "review" | "pass" | null;
670
748
  checks: {
671
- type: "rekognition" | "bedrock";
749
+ type: "bedrock" | "rekognition";
672
750
  target: string;
673
751
  verdict: "reject" | "review" | "pass";
674
752
  labels: string[];
@@ -677,13 +755,13 @@ declare const aiJobsRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, ((({
677
755
  }[];
678
756
  tasks: {
679
757
  key: string;
680
- endpoint: "fal:openai/gpt-image-2.5/flare/edit" | "fal:openai/gpt-image-2.5/sunburst/edit" | "fal:openai/gpt-image-2.6/flare/edit" | "openai:gpt-image-2.5-flare" | "openai:gpt-image-2.5-sunburst" | "openai:gpt-image-2.6-flare" | "replicate:openai/gpt-image-2" | "replicate:openai/gpt-image-2.6-flare" | "replicate:google/nano-banana-pro" | "fake:echo";
758
+ endpoint: "fake:echo" | `openai:${string}` | `fal:${string}` | `replicate:${string}`;
681
759
  status: "done" | "rejected" | "failed" | "cancelled" | "pending" | "submitted" | "saving";
682
760
  attempt: number;
683
761
  outputPath: string;
684
762
  verdict: "reject" | "review" | "pass" | null;
685
763
  checks: {
686
- type: "rekognition" | "bedrock";
764
+ type: "bedrock" | "rekognition";
687
765
  target: string;
688
766
  verdict: "reject" | "review" | "pass";
689
767
  labels: string[];
@@ -692,7 +770,7 @@ declare const aiJobsRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, ((({
692
770
  }[];
693
771
  error: "submit failed" | "provider error" | "provider timed out" | "save failed" | null;
694
772
  estimatedUsd: number;
695
- servedBy?: "fal:openai/gpt-image-2.5/flare/edit" | "fal:openai/gpt-image-2.5/sunburst/edit" | "fal:openai/gpt-image-2.6/flare/edit" | "openai:gpt-image-2.5-flare" | "openai:gpt-image-2.5-sunburst" | "openai:gpt-image-2.6-flare" | "replicate:openai/gpt-image-2" | "replicate:openai/gpt-image-2.6-flare" | "replicate:google/nano-banana-pro" | "fake:echo" | null | undefined;
773
+ servedBy?: "fake:echo" | `openai:${string}` | `fal:${string}` | `replicate:${string}` | null | undefined;
696
774
  }[];
697
775
  createdAt: string;
698
776
  updatedAt: string;
@@ -717,7 +795,7 @@ declare const aiJobsRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, ((({
717
795
  status: "checking" | "running" | "done" | "rejected" | "failed" | "cancelled";
718
796
  verdict: "reject" | "review" | "pass" | null;
719
797
  checks: {
720
- type: "rekognition" | "bedrock";
798
+ type: "bedrock" | "rekognition";
721
799
  target: string;
722
800
  verdict: "reject" | "review" | "pass";
723
801
  labels: string[];
@@ -726,13 +804,13 @@ declare const aiJobsRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, ((({
726
804
  }[];
727
805
  tasks: {
728
806
  key: string;
729
- endpoint: "fal:openai/gpt-image-2.5/flare/edit" | "fal:openai/gpt-image-2.5/sunburst/edit" | "fal:openai/gpt-image-2.6/flare/edit" | "openai:gpt-image-2.5-flare" | "openai:gpt-image-2.5-sunburst" | "openai:gpt-image-2.6-flare" | "replicate:openai/gpt-image-2" | "replicate:openai/gpt-image-2.6-flare" | "replicate:google/nano-banana-pro" | "fake:echo";
807
+ endpoint: "fake:echo" | `openai:${string}` | `fal:${string}` | `replicate:${string}`;
730
808
  status: "done" | "rejected" | "failed" | "cancelled" | "pending" | "submitted" | "saving";
731
809
  attempt: number;
732
810
  outputPath: string;
733
811
  verdict: "reject" | "review" | "pass" | null;
734
812
  checks: {
735
- type: "rekognition" | "bedrock";
813
+ type: "bedrock" | "rekognition";
736
814
  target: string;
737
815
  verdict: "reject" | "review" | "pass";
738
816
  labels: string[];
@@ -741,7 +819,7 @@ declare const aiJobsRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, ((({
741
819
  }[];
742
820
  error: "submit failed" | "provider error" | "provider timed out" | "save failed" | null;
743
821
  estimatedUsd: number;
744
- servedBy?: "fal:openai/gpt-image-2.5/flare/edit" | "fal:openai/gpt-image-2.5/sunburst/edit" | "fal:openai/gpt-image-2.6/flare/edit" | "openai:gpt-image-2.5-flare" | "openai:gpt-image-2.5-sunburst" | "openai:gpt-image-2.6-flare" | "replicate:openai/gpt-image-2" | "replicate:openai/gpt-image-2.6-flare" | "replicate:google/nano-banana-pro" | "fake:echo" | null | undefined;
822
+ servedBy?: "fake:echo" | `openai:${string}` | `fal:${string}` | `replicate:${string}` | null | undefined;
745
823
  }[];
746
824
  createdAt: string;
747
825
  updatedAt: string;
@@ -770,7 +848,7 @@ declare const aiJobsRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, ((({
770
848
  status: "checking" | "running" | "done" | "rejected" | "failed" | "cancelled";
771
849
  verdict: "reject" | "review" | "pass" | null;
772
850
  checks: {
773
- type: "rekognition" | "bedrock";
851
+ type: "bedrock" | "rekognition";
774
852
  target: string;
775
853
  verdict: "reject" | "review" | "pass";
776
854
  labels: string[];
@@ -779,13 +857,13 @@ declare const aiJobsRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, ((({
779
857
  }[];
780
858
  tasks: {
781
859
  key: string;
782
- endpoint: "fal:openai/gpt-image-2.5/flare/edit" | "fal:openai/gpt-image-2.5/sunburst/edit" | "fal:openai/gpt-image-2.6/flare/edit" | "openai:gpt-image-2.5-flare" | "openai:gpt-image-2.5-sunburst" | "openai:gpt-image-2.6-flare" | "replicate:openai/gpt-image-2" | "replicate:openai/gpt-image-2.6-flare" | "replicate:google/nano-banana-pro" | "fake:echo";
860
+ endpoint: "fake:echo" | `openai:${string}` | `fal:${string}` | `replicate:${string}`;
783
861
  status: "done" | "rejected" | "failed" | "cancelled" | "pending" | "submitted" | "saving";
784
862
  attempt: number;
785
863
  outputPath: string;
786
864
  verdict: "reject" | "review" | "pass" | null;
787
865
  checks: {
788
- type: "rekognition" | "bedrock";
866
+ type: "bedrock" | "rekognition";
789
867
  target: string;
790
868
  verdict: "reject" | "review" | "pass";
791
869
  labels: string[];
@@ -794,7 +872,7 @@ declare const aiJobsRouter: hono_hono_base.HonoBase<hono_types.BlankEnv, ((({
794
872
  }[];
795
873
  error: "submit failed" | "provider error" | "provider timed out" | "save failed" | null;
796
874
  estimatedUsd: number;
797
- servedBy?: "fal:openai/gpt-image-2.5/flare/edit" | "fal:openai/gpt-image-2.5/sunburst/edit" | "fal:openai/gpt-image-2.6/flare/edit" | "openai:gpt-image-2.5-flare" | "openai:gpt-image-2.5-sunburst" | "openai:gpt-image-2.6-flare" | "replicate:openai/gpt-image-2" | "replicate:openai/gpt-image-2.6-flare" | "replicate:google/nano-banana-pro" | "fake:echo" | null | undefined;
875
+ servedBy?: "fake:echo" | `openai:${string}` | `fal:${string}` | `replicate:${string}` | null | undefined;
798
876
  }[];
799
877
  createdAt: string;
800
878
  updatedAt: string;
@@ -1059,9 +1137,11 @@ type DmxRouter = typeof dmxRouter;
1059
1137
  type StorageRouter = typeof storageRouter;
1060
1138
  type DatabaseRouter = typeof databaseRouter;
1061
1139
  type BedrockRouter = typeof bedrockRouter;
1140
+ type AnthropicRouter = typeof anthropicRouter;
1141
+ type OpenAiRouter = typeof openAiRouter;
1062
1142
  type DevicesRouter = typeof devicesRouter;
1063
1143
  type AiJobsRouter = typeof aiJobsRouter;
1064
1144
  type RealtimeRouter = typeof realtimeRouter;
1065
1145
  type InstancesRouter = typeof instancesRouter;
1066
1146
 
1067
- export { type AiJobsRouter, type BedrockRouter, type DatabaseRouter, type DevicesRouter, type DmxRouter, type InstancesRouter, type RealtimeRouter, type StorageRouter, app as default };
1147
+ export { type AiJobsRouter, type AnthropicRouter, type BedrockRouter, type DatabaseRouter, type DevicesRouter, type DmxRouter, type InstancesRouter, type OpenAiRouter, type RealtimeRouter, type StorageRouter, app as default };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digo-labs/backend",
3
- "version": "0.2.7",
3
+ "version": "0.2.9",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "types": "./dist/index.d.cts",
@@ -38,9 +38,10 @@
38
38
  ]
39
39
  },
40
40
  "peerDependencies": {
41
- "@digo-labs/common": "^0.2.15"
41
+ "@digo-labs/common": "^0.2.17"
42
42
  },
43
43
  "dependencies": {
44
+ "@anthropic-ai/sdk": "^1.6.0",
44
45
  "@aws-sdk/client-bedrock-runtime": "^3.1035.0",
45
46
  "@aws-sdk/client-rekognition": "^3.1078.0",
46
47
  "@aws-sdk/client-s3": "^3.1032.0",
@@ -54,6 +55,7 @@
54
55
  "dotenv": "^17.2.3",
55
56
  "drizzle-orm": "^0.45.2",
56
57
  "hono": "^4.9.8",
58
+ "openai": "^7.55.0",
57
59
  "pg": "^8.20.0"
58
60
  },
59
61
  "devDependencies": {