busabase-sdk 0.9.12 → 0.9.13

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
@@ -42,7 +42,7 @@ Every constructor field is optional and falls back to an environment variable:
42
42
 
43
43
  ## Two entry points
44
44
 
45
- **`Busabase` class** — an ergonomic wrapper with namespaced methods (`bb.bases`, `bb.records`, `bb.changeRequests`, `bb.nodes`, `bb.views`, `bb.assets`, `bb.skills`, `bb.docs`, `bb.folders`, `bb.comments`, `bb.auditEvents`, `bb.agent`, `bb.agentTasks`, `bb.search()`, `bb.health()`, `bb.me()`). Drop to `bb.client` for the raw oRPC client (e.g. `bb.client.system.meta()`).
45
+ **`Busabase` class** — an ergonomic wrapper with namespaced methods (`bb.bases`, `bb.records`, `bb.changeRequests`, `bb.nodes`, `bb.views`, `bb.assets`, `bb.skills`, `bb.docs`, `bb.folders`, `bb.comments`, `bb.auditEvents`, `bb.agent`, `bb.agentTasks`, `bb.embedLinks`, `bb.search()`, `bb.health()`, `bb.me()`). Drop to `bb.client` for the raw oRPC client (e.g. `bb.client.system.meta()`).
46
46
 
47
47
  **`createBusabaseClient(config?)`** — returns the raw, fully-typed [oRPC](https://orpc.unnoq.com) client directly, if you'd rather not wrap it in a class:
48
48
 
package/dist/index.d.ts CHANGED
@@ -231,6 +231,33 @@ declare const BUILTIN_NODE_TYPES: readonly [{
231
231
  readonly label: "Update doc";
232
232
  readonly tone: "border-blue-200 bg-blue-50 text-blue-800";
233
233
  }];
234
+ }, {
235
+ readonly type: "whiteboard";
236
+ readonly label: "Whiteboard";
237
+ readonly icon: "pen-tool";
238
+ readonly capabilities: {
239
+ readonly hasDetail: true;
240
+ readonly creatable: true;
241
+ };
242
+ readonly operations: readonly [];
243
+ }, {
244
+ readonly type: "workflow";
245
+ readonly label: "Workflow";
246
+ readonly icon: "workflow";
247
+ readonly capabilities: {
248
+ readonly hasDetail: true;
249
+ readonly creatable: true;
250
+ };
251
+ readonly operations: readonly [];
252
+ }, {
253
+ readonly type: "html";
254
+ readonly label: "HTML";
255
+ readonly icon: "code-xml";
256
+ readonly capabilities: {
257
+ readonly hasDetail: true;
258
+ readonly creatable: true;
259
+ };
260
+ readonly operations: readonly [];
234
261
  }];
235
262
  type BuiltinDefinition = (typeof BUILTIN_NODE_TYPES)[number];
236
263
  type NodeType = BuiltinDefinition["type"];
@@ -368,6 +395,181 @@ declare const cloudContract: {
368
395
  };
369
396
  }>>, Record<never, never>>;
370
397
  };
398
+ embedLinks: {
399
+ create: _orpc_contract.ContractProcedure<z.ZodObject<{
400
+ nodeId: z.ZodString;
401
+ expiresInMinutes: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
402
+ framePolicy: z.ZodDefault<z.ZodOptional<z.ZodPipe<z.ZodDiscriminatedUnion<[z.ZodObject<{
403
+ mode: z.ZodLiteral<"anywhere">;
404
+ allowedOrigins: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>>;
405
+ }, z.core.$strip>, z.ZodObject<{
406
+ mode: z.ZodLiteral<"origins">;
407
+ allowedOrigins: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
408
+ }, z.core.$strip>, z.ZodObject<{
409
+ mode: z.ZodLiteral<"top-level-only">;
410
+ allowedOrigins: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>>;
411
+ }, z.core.$strip>], "mode">, z.ZodTransform<{
412
+ mode: "anywhere" | "origins" | "top-level-only";
413
+ allowedOrigins: string[];
414
+ }, {
415
+ mode: "anywhere";
416
+ allowedOrigins?: string[] | undefined;
417
+ } | {
418
+ mode: "origins";
419
+ allowedOrigins: string[];
420
+ } | {
421
+ mode: "top-level-only";
422
+ allowedOrigins?: string[] | undefined;
423
+ }>>>>;
424
+ }, z.core.$strip>, z.ZodObject<{
425
+ id: z.ZodString;
426
+ nodeId: z.ZodString;
427
+ nodeName: z.ZodString;
428
+ nodeType: z.ZodEnum<{
429
+ file: "file";
430
+ base: "base";
431
+ folder: "folder";
432
+ skill: "skill";
433
+ drive: "drive";
434
+ airapp: "airapp";
435
+ doc: "doc";
436
+ }>;
437
+ createdAt: z.ZodString;
438
+ expiresAt: z.ZodString;
439
+ revokedAt: z.ZodNullable<z.ZodString>;
440
+ active: z.ZodBoolean;
441
+ framePolicy: z.ZodObject<{
442
+ mode: z.ZodEnum<{
443
+ anywhere: "anywhere";
444
+ origins: "origins";
445
+ "top-level-only": "top-level-only";
446
+ }>;
447
+ allowedOrigins: z.ZodArray<z.ZodString>;
448
+ }, z.core.$strip>;
449
+ url: z.ZodString;
450
+ iframeUrl: z.ZodString;
451
+ }, z.core.$strip>, _orpc_contract.MergedErrorMap<Record<never, never>, _orpc_contract.MergedErrorMap<Record<never, never>, {
452
+ NOT_FOUND: {
453
+ status: number;
454
+ message: string;
455
+ data: z.ZodObject<{
456
+ error: z.ZodString;
457
+ }, z.core.$strip>;
458
+ };
459
+ FORBIDDEN: {
460
+ status: number;
461
+ message: string;
462
+ data: z.ZodObject<{
463
+ error: z.ZodString;
464
+ }, z.core.$strip>;
465
+ };
466
+ UNAUTHORIZED: {
467
+ status: number;
468
+ message: string;
469
+ data: z.ZodObject<{
470
+ error: z.ZodString;
471
+ }, z.core.$strip>;
472
+ };
473
+ BAD_REQUEST: {
474
+ status: number;
475
+ message: string;
476
+ data: z.ZodObject<{
477
+ error: z.ZodString;
478
+ }, z.core.$strip>;
479
+ };
480
+ }>>, Record<never, never>>;
481
+ list: _orpc_contract.ContractProcedure<z.ZodDefault<z.ZodOptional<z.ZodObject<{
482
+ nodeId: z.ZodOptional<z.ZodString>;
483
+ }, z.core.$strip>>>, z.ZodArray<z.ZodObject<{
484
+ id: z.ZodString;
485
+ nodeId: z.ZodString;
486
+ nodeName: z.ZodString;
487
+ nodeType: z.ZodEnum<{
488
+ file: "file";
489
+ base: "base";
490
+ folder: "folder";
491
+ skill: "skill";
492
+ drive: "drive";
493
+ airapp: "airapp";
494
+ doc: "doc";
495
+ }>;
496
+ createdAt: z.ZodString;
497
+ expiresAt: z.ZodString;
498
+ revokedAt: z.ZodNullable<z.ZodString>;
499
+ active: z.ZodBoolean;
500
+ framePolicy: z.ZodObject<{
501
+ mode: z.ZodEnum<{
502
+ anywhere: "anywhere";
503
+ origins: "origins";
504
+ "top-level-only": "top-level-only";
505
+ }>;
506
+ allowedOrigins: z.ZodArray<z.ZodString>;
507
+ }, z.core.$strip>;
508
+ }, z.core.$strip>>, _orpc_contract.MergedErrorMap<Record<never, never>, _orpc_contract.MergedErrorMap<Record<never, never>, {
509
+ NOT_FOUND: {
510
+ status: number;
511
+ message: string;
512
+ data: z.ZodObject<{
513
+ error: z.ZodString;
514
+ }, z.core.$strip>;
515
+ };
516
+ FORBIDDEN: {
517
+ status: number;
518
+ message: string;
519
+ data: z.ZodObject<{
520
+ error: z.ZodString;
521
+ }, z.core.$strip>;
522
+ };
523
+ UNAUTHORIZED: {
524
+ status: number;
525
+ message: string;
526
+ data: z.ZodObject<{
527
+ error: z.ZodString;
528
+ }, z.core.$strip>;
529
+ };
530
+ BAD_REQUEST: {
531
+ status: number;
532
+ message: string;
533
+ data: z.ZodObject<{
534
+ error: z.ZodString;
535
+ }, z.core.$strip>;
536
+ };
537
+ }>>, Record<never, never>>;
538
+ revoke: _orpc_contract.ContractProcedure<z.ZodObject<{
539
+ id: z.ZodString;
540
+ }, z.core.$strip>, z.ZodObject<{
541
+ revoked: z.ZodLiteral<true>;
542
+ }, z.core.$strip>, _orpc_contract.MergedErrorMap<Record<never, never>, _orpc_contract.MergedErrorMap<Record<never, never>, {
543
+ NOT_FOUND: {
544
+ status: number;
545
+ message: string;
546
+ data: z.ZodObject<{
547
+ error: z.ZodString;
548
+ }, z.core.$strip>;
549
+ };
550
+ FORBIDDEN: {
551
+ status: number;
552
+ message: string;
553
+ data: z.ZodObject<{
554
+ error: z.ZodString;
555
+ }, z.core.$strip>;
556
+ };
557
+ UNAUTHORIZED: {
558
+ status: number;
559
+ message: string;
560
+ data: z.ZodObject<{
561
+ error: z.ZodString;
562
+ }, z.core.$strip>;
563
+ };
564
+ BAD_REQUEST: {
565
+ status: number;
566
+ message: string;
567
+ data: z.ZodObject<{
568
+ error: z.ZodString;
569
+ }, z.core.$strip>;
570
+ };
571
+ }>>, Record<never, never>>;
572
+ };
371
573
  auth: {
372
574
  verify: _orpc_contract.ContractProcedure<_orpc_contract.Schema<unknown, unknown>, z.ZodObject<{
373
575
  space: z.ZodObject<{
@@ -568,9 +770,9 @@ declare const cloudContract: {
568
770
  email: "email";
569
771
  date: "date";
570
772
  text: "text";
773
+ html: "html";
571
774
  longtext: "longtext";
572
775
  markdown: "markdown";
573
- html: "html";
574
776
  attachment: "attachment";
575
777
  relation: "relation";
576
778
  checkbox: "checkbox";
@@ -717,9 +919,9 @@ declare const cloudContract: {
717
919
  email: "email";
718
920
  date: "date";
719
921
  text: "text";
922
+ html: "html";
720
923
  longtext: "longtext";
721
924
  markdown: "markdown";
722
- html: "html";
723
925
  attachment: "attachment";
724
926
  relation: "relation";
725
927
  checkbox: "checkbox";
@@ -1101,9 +1303,9 @@ declare const cloudContract: {
1101
1303
  email: "email";
1102
1304
  date: "date";
1103
1305
  text: "text";
1306
+ html: "html";
1104
1307
  longtext: "longtext";
1105
1308
  markdown: "markdown";
1106
- html: "html";
1107
1309
  attachment: "attachment";
1108
1310
  relation: "relation";
1109
1311
  checkbox: "checkbox";
@@ -1676,9 +1878,9 @@ declare const cloudContract: {
1676
1878
  email: "email";
1677
1879
  date: "date";
1678
1880
  text: "text";
1881
+ html: "html";
1679
1882
  longtext: "longtext";
1680
1883
  markdown: "markdown";
1681
- html: "html";
1682
1884
  attachment: "attachment";
1683
1885
  relation: "relation";
1684
1886
  checkbox: "checkbox";
@@ -2058,9 +2260,9 @@ declare const cloudContract: {
2058
2260
  email: "email";
2059
2261
  date: "date";
2060
2262
  text: "text";
2263
+ html: "html";
2061
2264
  longtext: "longtext";
2062
2265
  markdown: "markdown";
2063
- html: "html";
2064
2266
  attachment: "attachment";
2065
2267
  relation: "relation";
2066
2268
  checkbox: "checkbox";
@@ -2427,9 +2629,9 @@ declare const cloudContract: {
2427
2629
  email: "email";
2428
2630
  date: "date";
2429
2631
  text: "text";
2632
+ html: "html";
2430
2633
  longtext: "longtext";
2431
2634
  markdown: "markdown";
2432
- html: "html";
2433
2635
  attachment: "attachment";
2434
2636
  relation: "relation";
2435
2637
  checkbox: "checkbox";
@@ -2642,9 +2844,9 @@ declare const cloudContract: {
2642
2844
  email: "email";
2643
2845
  date: "date";
2644
2846
  text: "text";
2847
+ html: "html";
2645
2848
  longtext: "longtext";
2646
2849
  markdown: "markdown";
2647
- html: "html";
2648
2850
  attachment: "attachment";
2649
2851
  relation: "relation";
2650
2852
  checkbox: "checkbox";
@@ -2905,9 +3107,9 @@ declare const cloudContract: {
2905
3107
  email: "email";
2906
3108
  date: "date";
2907
3109
  text: "text";
3110
+ html: "html";
2908
3111
  longtext: "longtext";
2909
3112
  markdown: "markdown";
2910
- html: "html";
2911
3113
  attachment: "attachment";
2912
3114
  relation: "relation";
2913
3115
  checkbox: "checkbox";
@@ -3307,9 +3509,9 @@ declare const cloudContract: {
3307
3509
  email: "email";
3308
3510
  date: "date";
3309
3511
  text: "text";
3512
+ html: "html";
3310
3513
  longtext: "longtext";
3311
3514
  markdown: "markdown";
3312
- html: "html";
3313
3515
  attachment: "attachment";
3314
3516
  relation: "relation";
3315
3517
  checkbox: "checkbox";
@@ -3406,9 +3608,9 @@ declare const cloudContract: {
3406
3608
  email: "email";
3407
3609
  date: "date";
3408
3610
  text: "text";
3611
+ html: "html";
3409
3612
  longtext: "longtext";
3410
3613
  markdown: "markdown";
3411
- html: "html";
3412
3614
  attachment: "attachment";
3413
3615
  relation: "relation";
3414
3616
  checkbox: "checkbox";
@@ -3507,9 +3709,9 @@ declare const cloudContract: {
3507
3709
  email: "email";
3508
3710
  date: "date";
3509
3711
  text: "text";
3712
+ html: "html";
3510
3713
  longtext: "longtext";
3511
3714
  markdown: "markdown";
3512
- html: "html";
3513
3715
  attachment: "attachment";
3514
3716
  relation: "relation";
3515
3717
  checkbox: "checkbox";
@@ -3597,9 +3799,9 @@ declare const cloudContract: {
3597
3799
  email: "email";
3598
3800
  date: "date";
3599
3801
  text: "text";
3802
+ html: "html";
3600
3803
  longtext: "longtext";
3601
3804
  markdown: "markdown";
3602
- html: "html";
3603
3805
  attachment: "attachment";
3604
3806
  relation: "relation";
3605
3807
  checkbox: "checkbox";
@@ -3868,9 +4070,9 @@ declare const cloudContract: {
3868
4070
  email: "email";
3869
4071
  date: "date";
3870
4072
  text: "text";
4073
+ html: "html";
3871
4074
  longtext: "longtext";
3872
4075
  markdown: "markdown";
3873
- html: "html";
3874
4076
  attachment: "attachment";
3875
4077
  relation: "relation";
3876
4078
  checkbox: "checkbox";
@@ -4045,9 +4247,9 @@ declare const cloudContract: {
4045
4247
  email: "email";
4046
4248
  date: "date";
4047
4249
  text: "text";
4250
+ html: "html";
4048
4251
  longtext: "longtext";
4049
4252
  markdown: "markdown";
4050
- html: "html";
4051
4253
  attachment: "attachment";
4052
4254
  relation: "relation";
4053
4255
  checkbox: "checkbox";
@@ -4190,9 +4392,9 @@ declare const cloudContract: {
4190
4392
  email: "email";
4191
4393
  date: "date";
4192
4394
  text: "text";
4395
+ html: "html";
4193
4396
  longtext: "longtext";
4194
4397
  markdown: "markdown";
4195
- html: "html";
4196
4398
  attachment: "attachment";
4197
4399
  relation: "relation";
4198
4400
  checkbox: "checkbox";
@@ -4288,9 +4490,9 @@ declare const cloudContract: {
4288
4490
  email: "email";
4289
4491
  date: "date";
4290
4492
  text: "text";
4493
+ html: "html";
4291
4494
  longtext: "longtext";
4292
4495
  markdown: "markdown";
4293
- html: "html";
4294
4496
  attachment: "attachment";
4295
4497
  relation: "relation";
4296
4498
  checkbox: "checkbox";
@@ -4420,9 +4622,9 @@ declare const cloudContract: {
4420
4622
  email: "email";
4421
4623
  date: "date";
4422
4624
  text: "text";
4625
+ html: "html";
4423
4626
  longtext: "longtext";
4424
4627
  markdown: "markdown";
4425
- html: "html";
4426
4628
  attachment: "attachment";
4427
4629
  relation: "relation";
4428
4630
  checkbox: "checkbox";
@@ -4794,9 +4996,9 @@ declare const cloudContract: {
4794
4996
  email: "email";
4795
4997
  date: "date";
4796
4998
  text: "text";
4999
+ html: "html";
4797
5000
  longtext: "longtext";
4798
5001
  markdown: "markdown";
4799
- html: "html";
4800
5002
  attachment: "attachment";
4801
5003
  relation: "relation";
4802
5004
  checkbox: "checkbox";
@@ -4978,9 +5180,9 @@ declare const cloudContract: {
4978
5180
  email: "email";
4979
5181
  date: "date";
4980
5182
  text: "text";
5183
+ html: "html";
4981
5184
  longtext: "longtext";
4982
5185
  markdown: "markdown";
4983
- html: "html";
4984
5186
  attachment: "attachment";
4985
5187
  relation: "relation";
4986
5188
  checkbox: "checkbox";
@@ -5363,9 +5565,9 @@ declare const cloudContract: {
5363
5565
  email: "email";
5364
5566
  date: "date";
5365
5567
  text: "text";
5568
+ html: "html";
5366
5569
  longtext: "longtext";
5367
5570
  markdown: "markdown";
5368
- html: "html";
5369
5571
  attachment: "attachment";
5370
5572
  relation: "relation";
5371
5573
  checkbox: "checkbox";
@@ -5695,9 +5897,9 @@ declare const cloudContract: {
5695
5897
  email: "email";
5696
5898
  date: "date";
5697
5899
  text: "text";
5900
+ html: "html";
5698
5901
  longtext: "longtext";
5699
5902
  markdown: "markdown";
5700
- html: "html";
5701
5903
  attachment: "attachment";
5702
5904
  relation: "relation";
5703
5905
  checkbox: "checkbox";
@@ -5792,9 +5994,9 @@ declare const cloudContract: {
5792
5994
  email: "email";
5793
5995
  date: "date";
5794
5996
  text: "text";
5997
+ html: "html";
5795
5998
  longtext: "longtext";
5796
5999
  markdown: "markdown";
5797
- html: "html";
5798
6000
  attachment: "attachment";
5799
6001
  relation: "relation";
5800
6002
  checkbox: "checkbox";
@@ -5878,9 +6080,9 @@ declare const cloudContract: {
5878
6080
  email: "email";
5879
6081
  date: "date";
5880
6082
  text: "text";
6083
+ html: "html";
5881
6084
  longtext: "longtext";
5882
6085
  markdown: "markdown";
5883
- html: "html";
5884
6086
  attachment: "attachment";
5885
6087
  relation: "relation";
5886
6088
  checkbox: "checkbox";
@@ -6010,9 +6212,9 @@ declare const cloudContract: {
6010
6212
  email: "email";
6011
6213
  date: "date";
6012
6214
  text: "text";
6215
+ html: "html";
6013
6216
  longtext: "longtext";
6014
6217
  markdown: "markdown";
6015
- html: "html";
6016
6218
  attachment: "attachment";
6017
6219
  relation: "relation";
6018
6220
  checkbox: "checkbox";
@@ -6446,9 +6648,9 @@ declare const cloudContract: {
6446
6648
  email: "email";
6447
6649
  date: "date";
6448
6650
  text: "text";
6651
+ html: "html";
6449
6652
  longtext: "longtext";
6450
6653
  markdown: "markdown";
6451
- html: "html";
6452
6654
  attachment: "attachment";
6453
6655
  relation: "relation";
6454
6656
  checkbox: "checkbox";
@@ -6829,9 +7031,9 @@ declare const cloudContract: {
6829
7031
  email: "email";
6830
7032
  date: "date";
6831
7033
  text: "text";
7034
+ html: "html";
6832
7035
  longtext: "longtext";
6833
7036
  markdown: "markdown";
6834
- html: "html";
6835
7037
  attachment: "attachment";
6836
7038
  relation: "relation";
6837
7039
  checkbox: "checkbox";
@@ -7268,9 +7470,9 @@ declare const cloudContract: {
7268
7470
  email: "email";
7269
7471
  date: "date";
7270
7472
  text: "text";
7473
+ html: "html";
7271
7474
  longtext: "longtext";
7272
7475
  markdown: "markdown";
7273
- html: "html";
7274
7476
  attachment: "attachment";
7275
7477
  relation: "relation";
7276
7478
  checkbox: "checkbox";
@@ -7589,9 +7791,9 @@ declare const cloudContract: {
7589
7791
  email: "email";
7590
7792
  date: "date";
7591
7793
  text: "text";
7794
+ html: "html";
7592
7795
  longtext: "longtext";
7593
7796
  markdown: "markdown";
7594
- html: "html";
7595
7797
  attachment: "attachment";
7596
7798
  relation: "relation";
7597
7799
  checkbox: "checkbox";
@@ -7628,9 +7830,9 @@ declare const cloudContract: {
7628
7830
  email: "email";
7629
7831
  date: "date";
7630
7832
  text: "text";
7833
+ html: "html";
7631
7834
  longtext: "longtext";
7632
7835
  markdown: "markdown";
7633
- html: "html";
7634
7836
  attachment: "attachment";
7635
7837
  relation: "relation";
7636
7838
  checkbox: "checkbox";
@@ -7721,9 +7923,9 @@ declare const cloudContract: {
7721
7923
  email: "email";
7722
7924
  date: "date";
7723
7925
  text: "text";
7926
+ html: "html";
7724
7927
  longtext: "longtext";
7725
7928
  markdown: "markdown";
7726
- html: "html";
7727
7929
  attachment: "attachment";
7728
7930
  relation: "relation";
7729
7931
  checkbox: "checkbox";
@@ -8104,9 +8306,9 @@ declare const cloudContract: {
8104
8306
  email: "email";
8105
8307
  date: "date";
8106
8308
  text: "text";
8309
+ html: "html";
8107
8310
  longtext: "longtext";
8108
8311
  markdown: "markdown";
8109
- html: "html";
8110
8312
  attachment: "attachment";
8111
8313
  relation: "relation";
8112
8314
  checkbox: "checkbox";
@@ -8486,9 +8688,9 @@ declare const cloudContract: {
8486
8688
  email: "email";
8487
8689
  date: "date";
8488
8690
  text: "text";
8691
+ html: "html";
8489
8692
  longtext: "longtext";
8490
8693
  markdown: "markdown";
8491
- html: "html";
8492
8694
  attachment: "attachment";
8493
8695
  relation: "relation";
8494
8696
  checkbox: "checkbox";
@@ -8868,9 +9070,9 @@ declare const cloudContract: {
8868
9070
  email: "email";
8869
9071
  date: "date";
8870
9072
  text: "text";
9073
+ html: "html";
8871
9074
  longtext: "longtext";
8872
9075
  markdown: "markdown";
8873
- html: "html";
8874
9076
  attachment: "attachment";
8875
9077
  relation: "relation";
8876
9078
  checkbox: "checkbox";
@@ -9251,9 +9453,9 @@ declare const cloudContract: {
9251
9453
  email: "email";
9252
9454
  date: "date";
9253
9455
  text: "text";
9456
+ html: "html";
9254
9457
  longtext: "longtext";
9255
9458
  markdown: "markdown";
9256
- html: "html";
9257
9459
  attachment: "attachment";
9258
9460
  relation: "relation";
9259
9461
  checkbox: "checkbox";
@@ -9697,9 +9899,9 @@ declare const cloudContract: {
9697
9899
  email: "email";
9698
9900
  date: "date";
9699
9901
  text: "text";
9902
+ html: "html";
9700
9903
  longtext: "longtext";
9701
9904
  markdown: "markdown";
9702
- html: "html";
9703
9905
  attachment: "attachment";
9704
9906
  relation: "relation";
9705
9907
  checkbox: "checkbox";
@@ -10165,9 +10367,9 @@ declare const cloudContract: {
10165
10367
  email: "email";
10166
10368
  date: "date";
10167
10369
  text: "text";
10370
+ html: "html";
10168
10371
  longtext: "longtext";
10169
10372
  markdown: "markdown";
10170
- html: "html";
10171
10373
  attachment: "attachment";
10172
10374
  relation: "relation";
10173
10375
  checkbox: "checkbox";
@@ -10611,9 +10813,9 @@ declare const cloudContract: {
10611
10813
  email: "email";
10612
10814
  date: "date";
10613
10815
  text: "text";
10816
+ html: "html";
10614
10817
  longtext: "longtext";
10615
10818
  markdown: "markdown";
10616
- html: "html";
10617
10819
  attachment: "attachment";
10618
10820
  relation: "relation";
10619
10821
  checkbox: "checkbox";
@@ -11079,9 +11281,9 @@ declare const cloudContract: {
11079
11281
  email: "email";
11080
11282
  date: "date";
11081
11283
  text: "text";
11284
+ html: "html";
11082
11285
  longtext: "longtext";
11083
11286
  markdown: "markdown";
11084
- html: "html";
11085
11287
  attachment: "attachment";
11086
11288
  relation: "relation";
11087
11289
  checkbox: "checkbox";
@@ -11561,9 +11763,9 @@ declare const cloudContract: {
11561
11763
  email: "email";
11562
11764
  date: "date";
11563
11765
  text: "text";
11766
+ html: "html";
11564
11767
  longtext: "longtext";
11565
11768
  markdown: "markdown";
11566
- html: "html";
11567
11769
  attachment: "attachment";
11568
11770
  relation: "relation";
11569
11771
  checkbox: "checkbox";
@@ -12029,9 +12231,9 @@ declare const cloudContract: {
12029
12231
  email: "email";
12030
12232
  date: "date";
12031
12233
  text: "text";
12234
+ html: "html";
12032
12235
  longtext: "longtext";
12033
12236
  markdown: "markdown";
12034
- html: "html";
12035
12237
  attachment: "attachment";
12036
12238
  relation: "relation";
12037
12239
  checkbox: "checkbox";
@@ -12468,9 +12670,9 @@ declare const cloudContract: {
12468
12670
  email: "email";
12469
12671
  date: "date";
12470
12672
  text: "text";
12673
+ html: "html";
12471
12674
  longtext: "longtext";
12472
12675
  markdown: "markdown";
12473
- html: "html";
12474
12676
  attachment: "attachment";
12475
12677
  relation: "relation";
12476
12678
  checkbox: "checkbox";
@@ -12894,9 +13096,9 @@ declare const cloudContract: {
12894
13096
  email: "email";
12895
13097
  date: "date";
12896
13098
  text: "text";
13099
+ html: "html";
12897
13100
  longtext: "longtext";
12898
13101
  markdown: "markdown";
12899
- html: "html";
12900
13102
  attachment: "attachment";
12901
13103
  relation: "relation";
12902
13104
  checkbox: "checkbox";
@@ -13304,9 +13506,9 @@ declare const cloudContract: {
13304
13506
  email: "email";
13305
13507
  date: "date";
13306
13508
  text: "text";
13509
+ html: "html";
13307
13510
  longtext: "longtext";
13308
13511
  markdown: "markdown";
13309
- html: "html";
13310
13512
  attachment: "attachment";
13311
13513
  relation: "relation";
13312
13514
  checkbox: "checkbox";
@@ -13939,9 +14141,9 @@ declare const cloudContract: {
13939
14141
  email: "email";
13940
14142
  date: "date";
13941
14143
  text: "text";
14144
+ html: "html";
13942
14145
  longtext: "longtext";
13943
14146
  markdown: "markdown";
13944
- html: "html";
13945
14147
  attachment: "attachment";
13946
14148
  relation: "relation";
13947
14149
  checkbox: "checkbox";
@@ -14957,9 +15159,9 @@ declare const cloudContract: {
14957
15159
  email: "email";
14958
15160
  date: "date";
14959
15161
  text: "text";
15162
+ html: "html";
14960
15163
  longtext: "longtext";
14961
15164
  markdown: "markdown";
14962
- html: "html";
14963
15165
  attachment: "attachment";
14964
15166
  relation: "relation";
14965
15167
  checkbox: "checkbox";
@@ -15349,9 +15551,9 @@ declare const cloudContract: {
15349
15551
  email: "email";
15350
15552
  date: "date";
15351
15553
  text: "text";
15554
+ html: "html";
15352
15555
  longtext: "longtext";
15353
15556
  markdown: "markdown";
15354
- html: "html";
15355
15557
  attachment: "attachment";
15356
15558
  relation: "relation";
15357
15559
  checkbox: "checkbox";
@@ -15739,9 +15941,9 @@ declare const cloudContract: {
15739
15941
  email: "email";
15740
15942
  date: "date";
15741
15943
  text: "text";
15944
+ html: "html";
15742
15945
  longtext: "longtext";
15743
15946
  markdown: "markdown";
15744
- html: "html";
15745
15947
  attachment: "attachment";
15746
15948
  relation: "relation";
15747
15949
  checkbox: "checkbox";
@@ -16124,9 +16326,9 @@ declare const cloudContract: {
16124
16326
  email: "email";
16125
16327
  date: "date";
16126
16328
  text: "text";
16329
+ html: "html";
16127
16330
  longtext: "longtext";
16128
16331
  markdown: "markdown";
16129
- html: "html";
16130
16332
  attachment: "attachment";
16131
16333
  relation: "relation";
16132
16334
  checkbox: "checkbox";
@@ -16520,9 +16722,9 @@ declare const cloudContract: {
16520
16722
  email: "email";
16521
16723
  date: "date";
16522
16724
  text: "text";
16725
+ html: "html";
16523
16726
  longtext: "longtext";
16524
16727
  markdown: "markdown";
16525
- html: "html";
16526
16728
  attachment: "attachment";
16527
16729
  relation: "relation";
16528
16730
  checkbox: "checkbox";
@@ -16901,9 +17103,9 @@ declare const cloudContract: {
16901
17103
  email: "email";
16902
17104
  date: "date";
16903
17105
  text: "text";
17106
+ html: "html";
16904
17107
  longtext: "longtext";
16905
17108
  markdown: "markdown";
16906
- html: "html";
16907
17109
  attachment: "attachment";
16908
17110
  relation: "relation";
16909
17111
  checkbox: "checkbox";
@@ -17267,9 +17469,9 @@ declare const cloudContract: {
17267
17469
  email: "email";
17268
17470
  date: "date";
17269
17471
  text: "text";
17472
+ html: "html";
17270
17473
  longtext: "longtext";
17271
17474
  markdown: "markdown";
17272
- html: "html";
17273
17475
  attachment: "attachment";
17274
17476
  relation: "relation";
17275
17477
  checkbox: "checkbox";
@@ -17543,9 +17745,9 @@ declare const cloudContract: {
17543
17745
  email: "email";
17544
17746
  date: "date";
17545
17747
  text: "text";
17748
+ html: "html";
17546
17749
  longtext: "longtext";
17547
17750
  markdown: "markdown";
17548
- html: "html";
17549
17751
  attachment: "attachment";
17550
17752
  relation: "relation";
17551
17753
  checkbox: "checkbox";
@@ -17913,9 +18115,9 @@ declare const cloudContract: {
17913
18115
  email: "email";
17914
18116
  date: "date";
17915
18117
  text: "text";
18118
+ html: "html";
17916
18119
  longtext: "longtext";
17917
18120
  markdown: "markdown";
17918
- html: "html";
17919
18121
  attachment: "attachment";
17920
18122
  relation: "relation";
17921
18123
  checkbox: "checkbox";
@@ -18111,9 +18313,9 @@ declare const cloudContract: {
18111
18313
  email: "email";
18112
18314
  date: "date";
18113
18315
  text: "text";
18316
+ html: "html";
18114
18317
  longtext: "longtext";
18115
18318
  markdown: "markdown";
18116
- html: "html";
18117
18319
  attachment: "attachment";
18118
18320
  relation: "relation";
18119
18321
  checkbox: "checkbox";
@@ -18292,9 +18494,9 @@ declare const cloudContract: {
18292
18494
  email: "email";
18293
18495
  date: "date";
18294
18496
  text: "text";
18497
+ html: "html";
18295
18498
  longtext: "longtext";
18296
18499
  markdown: "markdown";
18297
- html: "html";
18298
18500
  attachment: "attachment";
18299
18501
  relation: "relation";
18300
18502
  checkbox: "checkbox";
@@ -18469,9 +18671,9 @@ declare const cloudContract: {
18469
18671
  email: "email";
18470
18672
  date: "date";
18471
18673
  text: "text";
18674
+ html: "html";
18472
18675
  longtext: "longtext";
18473
18676
  markdown: "markdown";
18474
- html: "html";
18475
18677
  attachment: "attachment";
18476
18678
  relation: "relation";
18477
18679
  checkbox: "checkbox";
@@ -18659,9 +18861,9 @@ declare const cloudContract: {
18659
18861
  email: "email";
18660
18862
  date: "date";
18661
18863
  text: "text";
18864
+ html: "html";
18662
18865
  longtext: "longtext";
18663
18866
  markdown: "markdown";
18664
- html: "html";
18665
18867
  attachment: "attachment";
18666
18868
  relation: "relation";
18667
18869
  checkbox: "checkbox";
@@ -19044,9 +19246,9 @@ declare const cloudContract: {
19044
19246
  email: "email";
19045
19247
  date: "date";
19046
19248
  text: "text";
19249
+ html: "html";
19047
19250
  longtext: "longtext";
19048
19251
  markdown: "markdown";
19049
- html: "html";
19050
19252
  attachment: "attachment";
19051
19253
  relation: "relation";
19052
19254
  checkbox: "checkbox";
@@ -19424,9 +19626,9 @@ declare const cloudContract: {
19424
19626
  email: "email";
19425
19627
  date: "date";
19426
19628
  text: "text";
19629
+ html: "html";
19427
19630
  longtext: "longtext";
19428
19631
  markdown: "markdown";
19429
- html: "html";
19430
19632
  attachment: "attachment";
19431
19633
  relation: "relation";
19432
19634
  checkbox: "checkbox";
@@ -19806,9 +20008,9 @@ declare const cloudContract: {
19806
20008
  email: "email";
19807
20009
  date: "date";
19808
20010
  text: "text";
20011
+ html: "html";
19809
20012
  longtext: "longtext";
19810
20013
  markdown: "markdown";
19811
- html: "html";
19812
20014
  attachment: "attachment";
19813
20015
  relation: "relation";
19814
20016
  checkbox: "checkbox";
@@ -20258,9 +20460,9 @@ declare const cloudContract: {
20258
20460
  email: "email";
20259
20461
  date: "date";
20260
20462
  text: "text";
20463
+ html: "html";
20261
20464
  longtext: "longtext";
20262
20465
  markdown: "markdown";
20263
- html: "html";
20264
20466
  attachment: "attachment";
20265
20467
  relation: "relation";
20266
20468
  checkbox: "checkbox";
@@ -20640,9 +20842,9 @@ declare const cloudContract: {
20640
20842
  email: "email";
20641
20843
  date: "date";
20642
20844
  text: "text";
20845
+ html: "html";
20643
20846
  longtext: "longtext";
20644
20847
  markdown: "markdown";
20645
- html: "html";
20646
20848
  attachment: "attachment";
20647
20849
  relation: "relation";
20648
20850
  checkbox: "checkbox";
@@ -21022,9 +21224,9 @@ declare const cloudContract: {
21022
21224
  email: "email";
21023
21225
  date: "date";
21024
21226
  text: "text";
21227
+ html: "html";
21025
21228
  longtext: "longtext";
21026
21229
  markdown: "markdown";
21027
- html: "html";
21028
21230
  attachment: "attachment";
21029
21231
  relation: "relation";
21030
21232
  checkbox: "checkbox";
@@ -21703,9 +21905,9 @@ declare const activityItemSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
21703
21905
  email: "email";
21704
21906
  date: "date";
21705
21907
  text: "text";
21908
+ html: "html";
21706
21909
  longtext: "longtext";
21707
21910
  markdown: "markdown";
21708
- html: "html";
21709
21911
  attachment: "attachment";
21710
21912
  relation: "relation";
21711
21913
  checkbox: "checkbox";
@@ -22085,9 +22287,9 @@ declare const activityItemSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
22085
22287
  email: "email";
22086
22288
  date: "date";
22087
22289
  text: "text";
22290
+ html: "html";
22088
22291
  longtext: "longtext";
22089
22292
  markdown: "markdown";
22090
- html: "html";
22091
22293
  attachment: "attachment";
22092
22294
  relation: "relation";
22093
22295
  checkbox: "checkbox";
@@ -22454,9 +22656,9 @@ declare const activityItemSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
22454
22656
  email: "email";
22455
22657
  date: "date";
22456
22658
  text: "text";
22659
+ html: "html";
22457
22660
  longtext: "longtext";
22458
22661
  markdown: "markdown";
22459
- html: "html";
22460
22662
  attachment: "attachment";
22461
22663
  relation: "relation";
22462
22664
  checkbox: "checkbox";
@@ -22669,9 +22871,9 @@ declare const activityItemSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
22669
22871
  email: "email";
22670
22872
  date: "date";
22671
22873
  text: "text";
22874
+ html: "html";
22672
22875
  longtext: "longtext";
22673
22876
  markdown: "markdown";
22674
- html: "html";
22675
22877
  attachment: "attachment";
22676
22878
  relation: "relation";
22677
22879
  checkbox: "checkbox";
@@ -23377,6 +23579,7 @@ declare class Busabase {
23377
23579
  get folders(): BusabaseClient["folders"];
23378
23580
  get agentTasks(): BusabaseClient["agentTasks"];
23379
23581
  get webhooks(): BusabaseClient["webhooks"];
23582
+ get embedLinks(): BusabaseClient["embedLinks"];
23380
23583
  /** Full-text search across records, change requests, and Bases. */
23381
23584
  search(input: Parameters<BusabaseClient["search"]>[0]): _orpc_client.ClientPromiseResult<{
23382
23585
  query: string;
package/dist/index.js CHANGED
@@ -354,12 +354,39 @@ var folderNodeType = {
354
354
  operations: []
355
355
  };
356
356
 
357
+ // ../../packages/busabase-contract/src/domains/html/definition.ts
358
+ var htmlNodeType = {
359
+ type: "html",
360
+ label: "HTML",
361
+ icon: "code-xml",
362
+ capabilities: { hasDetail: true, creatable: true },
363
+ operations: []
364
+ };
365
+
357
366
  // ../../packages/busabase-contract/src/domains/skill/definition.ts
358
367
  var skillNodeType = makeFileTreeNodeType({
359
368
  type: "skill",
360
369
  label: "Skill",
361
370
  icon: "sparkles"});
362
371
 
372
+ // ../../packages/busabase-contract/src/domains/whiteboard/definition.ts
373
+ var whiteboardNodeType = {
374
+ type: "whiteboard",
375
+ label: "Whiteboard",
376
+ icon: "pen-tool",
377
+ capabilities: { hasDetail: true, creatable: true },
378
+ operations: []
379
+ };
380
+
381
+ // ../../packages/busabase-contract/src/domains/workflow/definition.ts
382
+ var workflowNodeType = {
383
+ type: "workflow",
384
+ label: "Workflow",
385
+ icon: "workflow",
386
+ capabilities: { hasDetail: true, creatable: true },
387
+ operations: []
388
+ };
389
+
363
390
  // ../../packages/busabase-contract/src/domains/registry.ts
364
391
  var GENERIC_NODE_OPERATIONS = [
365
392
  {
@@ -387,7 +414,10 @@ var BUILTIN_NODE_TYPES = [
387
414
  driveNodeType,
388
415
  airappNodeType,
389
416
  fileNodeType,
390
- docNodeType
417
+ docNodeType,
418
+ whiteboardNodeType,
419
+ workflowNodeType,
420
+ htmlNodeType
391
421
  ];
392
422
  for (const definition of BUILTIN_NODE_TYPES) {
393
423
  registerNodeType(definition);
@@ -2689,7 +2719,7 @@ var busabaseContractRoutes = {
2689
2719
  path: "/nodes/search",
2690
2720
  tags: ["Nodes", "Search"],
2691
2721
  summary: "Search nodes by name/slug (cheap, name-only quick-jump)",
2692
- successDescription: "Plain ilike match on name/slug across every node type (folder/base/skill/drive/airapp/file/doc), scoped by the same node-visibility ACL as `nodes.list`. No content scan and no full-text ranking \u2014 ordered exact-slug-match first, then by name. Backs the dashboard search dialog's 'Recent' tab cache-miss path (see apps/busabase/content/spec/search-quick-jump.md); the heavier `search` endpoint remains the dedicated full-text content search."
2722
+ successDescription: "Plain ilike match on name/slug across every registered node type, scoped by the same node-visibility ACL as `nodes.list`. No content scan and no full-text ranking \u2014 ordered exact-slug-match first, then by name. Backs the dashboard search dialog's 'Recent' tab cache-miss path (see apps/busabase/content/spec/search-quick-jump.md); the heavier `search` endpoint remains the dedicated full-text content search."
2693
2723
  }).input(searchNodesByNameInputSchema).output(z.array(nodeSearchResultSchema)),
2694
2724
  isDescendant: oc.route({
2695
2725
  method: "GET",
@@ -2951,6 +2981,84 @@ var busabaseContractRoutes = {
2951
2981
  views: viewContract
2952
2982
  };
2953
2983
  oc.prefix("/api/v1").router(busabaseContractRoutes);
2984
+ var EMBED_LINK_DEFAULT_MINUTES = 15;
2985
+ var EMBED_LINK_MAX_MINUTES = 24 * 60;
2986
+ var EmbedNodeTypeSchema = z.enum([
2987
+ "base",
2988
+ "doc",
2989
+ "file",
2990
+ "drive",
2991
+ "skill",
2992
+ "folder",
2993
+ "airapp"
2994
+ ]);
2995
+ var EmbedFrameModeSchema = z.enum(["anywhere", "origins", "top-level-only"]);
2996
+ var EmbedAllowedOriginSchema = z.string().trim().min(1).superRefine((value, ctx) => {
2997
+ let url;
2998
+ try {
2999
+ url = new URL(value);
3000
+ } catch {
3001
+ ctx.addIssue({ code: "custom", message: "Allowed origins must be valid URLs" });
3002
+ return;
3003
+ }
3004
+ const isLocalHttp = url.protocol === "http:" && (url.hostname === "localhost" || url.hostname === "127.0.0.1" || url.hostname === "[::1]");
3005
+ if (url.protocol !== "https:" && !isLocalHttp) {
3006
+ ctx.addIssue({ code: "custom", message: "Allowed origins must use HTTPS" });
3007
+ }
3008
+ if (url.username || url.password || url.pathname !== "/" || url.search || url.hash || url.hostname.includes("*")) {
3009
+ ctx.addIssue({ code: "custom", message: "Allowed origins must be exact origins" });
3010
+ }
3011
+ }).transform((value) => new URL(value).origin);
3012
+ var EmbedFramePolicyInputSchema = z.discriminatedUnion("mode", [
3013
+ z.object({
3014
+ mode: z.literal("anywhere"),
3015
+ allowedOrigins: z.array(EmbedAllowedOriginSchema).max(0).optional()
3016
+ }),
3017
+ z.object({
3018
+ mode: z.literal("origins"),
3019
+ allowedOrigins: z.array(EmbedAllowedOriginSchema).min(1).max(20)
3020
+ }),
3021
+ z.object({
3022
+ mode: z.literal("top-level-only"),
3023
+ allowedOrigins: z.array(EmbedAllowedOriginSchema).max(0).optional()
3024
+ })
3025
+ ]).transform((policy) => ({
3026
+ mode: policy.mode,
3027
+ allowedOrigins: [...new Set(policy.allowedOrigins ?? [])]
3028
+ }));
3029
+ var EmbedFramePolicyVOSchema = z.object({
3030
+ mode: EmbedFrameModeSchema,
3031
+ allowedOrigins: z.array(z.string().url())
3032
+ }).superRefine((policy, ctx) => {
3033
+ const validCount = policy.mode === "origins" ? policy.allowedOrigins.length > 0 : policy.allowedOrigins.length === 0;
3034
+ if (!validCount) ctx.addIssue({ code: "custom", message: "Stored frame policy is invalid" });
3035
+ });
3036
+ var CreateEmbedLinkInputSchema = z.object({
3037
+ nodeId: z.string().min(1),
3038
+ expiresInMinutes: z.number().int().min(1).max(EMBED_LINK_MAX_MINUTES).optional().default(EMBED_LINK_DEFAULT_MINUTES),
3039
+ framePolicy: EmbedFramePolicyInputSchema.optional().default({
3040
+ mode: "anywhere",
3041
+ allowedOrigins: []
3042
+ })
3043
+ });
3044
+ var ListEmbedLinksInputSchema = z.object({ nodeId: z.string().min(1).optional() }).optional().default({});
3045
+ var RevokeEmbedLinkInputSchema = z.object({ id: z.string().min(1) });
3046
+ var EmbedLinkVOSchema = z.object({
3047
+ id: z.string(),
3048
+ nodeId: z.string(),
3049
+ nodeName: z.string(),
3050
+ nodeType: EmbedNodeTypeSchema,
3051
+ createdAt: z.string().datetime(),
3052
+ expiresAt: z.string().datetime(),
3053
+ revokedAt: z.string().datetime().nullable(),
3054
+ active: z.boolean(),
3055
+ framePolicy: EmbedFramePolicyVOSchema
3056
+ });
3057
+ var CreatedEmbedLinkVOSchema = EmbedLinkVOSchema.extend({
3058
+ url: z.string().url(),
3059
+ iframeUrl: z.string().url()
3060
+ });
3061
+ var RevokeEmbedLinkVOSchema = z.object({ revoked: z.literal(true) });
2954
3062
 
2955
3063
  // ../../packages/busabase-contract/src/contract/cloud.ts
2956
3064
  var ErrorResponseSchema = z.object({
@@ -3006,6 +3114,16 @@ var notFoundErrors = {
3006
3114
  data: ErrorResponseSchema
3007
3115
  }
3008
3116
  };
3117
+ var embedLinksErrors = {
3118
+ BAD_REQUEST: { status: 400, message: "Bad Request", data: ErrorResponseSchema },
3119
+ ...authenticatedErrors,
3120
+ FORBIDDEN: { status: 403, message: "Forbidden", data: ErrorResponseSchema },
3121
+ ...notFoundErrors
3122
+ };
3123
+ var securedRoute = (operation) => ({
3124
+ ...operation,
3125
+ security: [{ bearerAuth: [] }]
3126
+ });
3009
3127
  var { vault: _localVault, ...cloudWorkbenchRoutes } = busabaseContractRoutes;
3010
3128
  var cloudExtraRoutes = {
3011
3129
  system: {
@@ -3084,6 +3202,36 @@ var cloudExtraRoutes = {
3084
3202
  })
3085
3203
  })
3086
3204
  ).output(AgentTaskDetailSchema)
3205
+ },
3206
+ // Relative-path twin of `embedLinksContract`
3207
+ // (apps/busabase-cloud/src/domains/embed-links/contract.ts, served at the absolute
3208
+ // `/api/v1/embed-links` paths) — same schemas imported from `./embed-link-schemas`, just
3209
+ // routed relative here so the shared `/api/v1` prefix below lands on the identical real path.
3210
+ embedLinks: {
3211
+ create: oc.route({
3212
+ method: "POST",
3213
+ path: "/embed-links",
3214
+ tags: ["Embed Links"],
3215
+ summary: "Create a short-lived read-only embed link for one node",
3216
+ successDescription: "The capability URL is returned once; only its secret hash is stored.",
3217
+ spec: securedRoute
3218
+ }).errors(embedLinksErrors).input(CreateEmbedLinkInputSchema).output(CreatedEmbedLinkVOSchema),
3219
+ list: oc.route({
3220
+ method: "GET",
3221
+ path: "/embed-links",
3222
+ tags: ["Embed Links"],
3223
+ summary: "List embed links the caller can manage",
3224
+ successDescription: "Embed link metadata without capability secrets.",
3225
+ spec: securedRoute
3226
+ }).errors(embedLinksErrors).input(ListEmbedLinksInputSchema).output(z.array(EmbedLinkVOSchema)),
3227
+ revoke: oc.route({
3228
+ method: "DELETE",
3229
+ path: "/embed-links/{id}",
3230
+ tags: ["Embed Links"],
3231
+ summary: "Revoke an embed link",
3232
+ successDescription: "The capability stops resolving immediately.",
3233
+ spec: securedRoute
3234
+ }).errors(embedLinksErrors).input(RevokeEmbedLinkInputSchema).output(RevokeEmbedLinkVOSchema)
3087
3235
  }
3088
3236
  };
3089
3237
  var cloudContract = oc.prefix("/api/v1").router({
@@ -3233,6 +3381,9 @@ var Busabase = class {
3233
3381
  get webhooks() {
3234
3382
  return this.client.webhooks;
3235
3383
  }
3384
+ get embedLinks() {
3385
+ return this.client.embedLinks;
3386
+ }
3236
3387
  /** Full-text search across records, change requests, and Bases. */
3237
3388
  search(input) {
3238
3389
  return this.client.search(input);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "busabase-sdk",
3
- "version": "0.9.12",
3
+ "version": "0.9.13",
4
4
  "description": "Typed TypeScript/JavaScript SDK for the Busabase OpenAPI REST API. Talks to a local or remote `busabase server` (or Busabase Cloud).",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/busabase/busabase/tree/main/apps/busabase-sdk",
@@ -41,9 +41,9 @@
41
41
  "tsx": "^4.20.5",
42
42
  "typescript": "^5.9.3",
43
43
  "vitest": "^2.1.8",
44
- "busabase-contract": "0.9.12",
45
44
  "open-domains": "0.0.2",
46
- "openlib": "0.1.1"
45
+ "openlib": "0.1.1",
46
+ "busabase-contract": "0.9.13"
47
47
  },
48
48
  "engines": {
49
49
  "node": ">=24.18.0"