busabase-sdk 0.9.11 → 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";
@@ -3702,6 +3904,7 @@ declare const cloudContract: {
3702
3904
  fieldId: z.ZodOptional<z.ZodString>;
3703
3905
  }, z.core.$strip>>>;
3704
3906
  visibleFieldSlugs: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
3907
+ fieldWidths: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
3705
3908
  coverFieldSlug: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3706
3909
  coverFit: z.ZodOptional<z.ZodEnum<{
3707
3910
  cover: "cover";
@@ -3776,6 +3979,7 @@ declare const cloudContract: {
3776
3979
  fieldId: z.ZodOptional<z.ZodString>;
3777
3980
  }, z.core.$strip>>>;
3778
3981
  visibleFieldSlugs: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
3982
+ fieldWidths: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
3779
3983
  coverFieldSlug: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3780
3984
  coverFit: z.ZodOptional<z.ZodEnum<{
3781
3985
  cover: "cover";
@@ -3866,9 +4070,9 @@ declare const cloudContract: {
3866
4070
  email: "email";
3867
4071
  date: "date";
3868
4072
  text: "text";
4073
+ html: "html";
3869
4074
  longtext: "longtext";
3870
4075
  markdown: "markdown";
3871
- html: "html";
3872
4076
  attachment: "attachment";
3873
4077
  relation: "relation";
3874
4078
  checkbox: "checkbox";
@@ -4043,9 +4247,9 @@ declare const cloudContract: {
4043
4247
  email: "email";
4044
4248
  date: "date";
4045
4249
  text: "text";
4250
+ html: "html";
4046
4251
  longtext: "longtext";
4047
4252
  markdown: "markdown";
4048
- html: "html";
4049
4253
  attachment: "attachment";
4050
4254
  relation: "relation";
4051
4255
  checkbox: "checkbox";
@@ -4188,9 +4392,9 @@ declare const cloudContract: {
4188
4392
  email: "email";
4189
4393
  date: "date";
4190
4394
  text: "text";
4395
+ html: "html";
4191
4396
  longtext: "longtext";
4192
4397
  markdown: "markdown";
4193
- html: "html";
4194
4398
  attachment: "attachment";
4195
4399
  relation: "relation";
4196
4400
  checkbox: "checkbox";
@@ -4286,9 +4490,9 @@ declare const cloudContract: {
4286
4490
  email: "email";
4287
4491
  date: "date";
4288
4492
  text: "text";
4493
+ html: "html";
4289
4494
  longtext: "longtext";
4290
4495
  markdown: "markdown";
4291
- html: "html";
4292
4496
  attachment: "attachment";
4293
4497
  relation: "relation";
4294
4498
  checkbox: "checkbox";
@@ -4418,9 +4622,9 @@ declare const cloudContract: {
4418
4622
  email: "email";
4419
4623
  date: "date";
4420
4624
  text: "text";
4625
+ html: "html";
4421
4626
  longtext: "longtext";
4422
4627
  markdown: "markdown";
4423
- html: "html";
4424
4628
  attachment: "attachment";
4425
4629
  relation: "relation";
4426
4630
  checkbox: "checkbox";
@@ -4792,9 +4996,9 @@ declare const cloudContract: {
4792
4996
  email: "email";
4793
4997
  date: "date";
4794
4998
  text: "text";
4999
+ html: "html";
4795
5000
  longtext: "longtext";
4796
5001
  markdown: "markdown";
4797
- html: "html";
4798
5002
  attachment: "attachment";
4799
5003
  relation: "relation";
4800
5004
  checkbox: "checkbox";
@@ -4976,9 +5180,9 @@ declare const cloudContract: {
4976
5180
  email: "email";
4977
5181
  date: "date";
4978
5182
  text: "text";
5183
+ html: "html";
4979
5184
  longtext: "longtext";
4980
5185
  markdown: "markdown";
4981
- html: "html";
4982
5186
  attachment: "attachment";
4983
5187
  relation: "relation";
4984
5188
  checkbox: "checkbox";
@@ -5361,9 +5565,9 @@ declare const cloudContract: {
5361
5565
  email: "email";
5362
5566
  date: "date";
5363
5567
  text: "text";
5568
+ html: "html";
5364
5569
  longtext: "longtext";
5365
5570
  markdown: "markdown";
5366
- html: "html";
5367
5571
  attachment: "attachment";
5368
5572
  relation: "relation";
5369
5573
  checkbox: "checkbox";
@@ -5693,9 +5897,9 @@ declare const cloudContract: {
5693
5897
  email: "email";
5694
5898
  date: "date";
5695
5899
  text: "text";
5900
+ html: "html";
5696
5901
  longtext: "longtext";
5697
5902
  markdown: "markdown";
5698
- html: "html";
5699
5903
  attachment: "attachment";
5700
5904
  relation: "relation";
5701
5905
  checkbox: "checkbox";
@@ -5790,9 +5994,9 @@ declare const cloudContract: {
5790
5994
  email: "email";
5791
5995
  date: "date";
5792
5996
  text: "text";
5997
+ html: "html";
5793
5998
  longtext: "longtext";
5794
5999
  markdown: "markdown";
5795
- html: "html";
5796
6000
  attachment: "attachment";
5797
6001
  relation: "relation";
5798
6002
  checkbox: "checkbox";
@@ -5876,9 +6080,9 @@ declare const cloudContract: {
5876
6080
  email: "email";
5877
6081
  date: "date";
5878
6082
  text: "text";
6083
+ html: "html";
5879
6084
  longtext: "longtext";
5880
6085
  markdown: "markdown";
5881
- html: "html";
5882
6086
  attachment: "attachment";
5883
6087
  relation: "relation";
5884
6088
  checkbox: "checkbox";
@@ -6008,9 +6212,9 @@ declare const cloudContract: {
6008
6212
  email: "email";
6009
6213
  date: "date";
6010
6214
  text: "text";
6215
+ html: "html";
6011
6216
  longtext: "longtext";
6012
6217
  markdown: "markdown";
6013
- html: "html";
6014
6218
  attachment: "attachment";
6015
6219
  relation: "relation";
6016
6220
  checkbox: "checkbox";
@@ -6346,6 +6550,7 @@ declare const cloudContract: {
6346
6550
  fieldId: z.ZodOptional<z.ZodString>;
6347
6551
  }, z.core.$strip>>>;
6348
6552
  visibleFieldSlugs: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
6553
+ fieldWidths: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
6349
6554
  coverFieldSlug: z.ZodOptional<z.ZodNullable<z.ZodString>>;
6350
6555
  coverFit: z.ZodOptional<z.ZodEnum<{
6351
6556
  cover: "cover";
@@ -6443,9 +6648,9 @@ declare const cloudContract: {
6443
6648
  email: "email";
6444
6649
  date: "date";
6445
6650
  text: "text";
6651
+ html: "html";
6446
6652
  longtext: "longtext";
6447
6653
  markdown: "markdown";
6448
- html: "html";
6449
6654
  attachment: "attachment";
6450
6655
  relation: "relation";
6451
6656
  checkbox: "checkbox";
@@ -6826,9 +7031,9 @@ declare const cloudContract: {
6826
7031
  email: "email";
6827
7032
  date: "date";
6828
7033
  text: "text";
7034
+ html: "html";
6829
7035
  longtext: "longtext";
6830
7036
  markdown: "markdown";
6831
- html: "html";
6832
7037
  attachment: "attachment";
6833
7038
  relation: "relation";
6834
7039
  checkbox: "checkbox";
@@ -7265,9 +7470,9 @@ declare const cloudContract: {
7265
7470
  email: "email";
7266
7471
  date: "date";
7267
7472
  text: "text";
7473
+ html: "html";
7268
7474
  longtext: "longtext";
7269
7475
  markdown: "markdown";
7270
- html: "html";
7271
7476
  attachment: "attachment";
7272
7477
  relation: "relation";
7273
7478
  checkbox: "checkbox";
@@ -7586,9 +7791,9 @@ declare const cloudContract: {
7586
7791
  email: "email";
7587
7792
  date: "date";
7588
7793
  text: "text";
7794
+ html: "html";
7589
7795
  longtext: "longtext";
7590
7796
  markdown: "markdown";
7591
- html: "html";
7592
7797
  attachment: "attachment";
7593
7798
  relation: "relation";
7594
7799
  checkbox: "checkbox";
@@ -7625,9 +7830,9 @@ declare const cloudContract: {
7625
7830
  email: "email";
7626
7831
  date: "date";
7627
7832
  text: "text";
7833
+ html: "html";
7628
7834
  longtext: "longtext";
7629
7835
  markdown: "markdown";
7630
- html: "html";
7631
7836
  attachment: "attachment";
7632
7837
  relation: "relation";
7633
7838
  checkbox: "checkbox";
@@ -7718,9 +7923,9 @@ declare const cloudContract: {
7718
7923
  email: "email";
7719
7924
  date: "date";
7720
7925
  text: "text";
7926
+ html: "html";
7721
7927
  longtext: "longtext";
7722
7928
  markdown: "markdown";
7723
- html: "html";
7724
7929
  attachment: "attachment";
7725
7930
  relation: "relation";
7726
7931
  checkbox: "checkbox";
@@ -8101,9 +8306,9 @@ declare const cloudContract: {
8101
8306
  email: "email";
8102
8307
  date: "date";
8103
8308
  text: "text";
8309
+ html: "html";
8104
8310
  longtext: "longtext";
8105
8311
  markdown: "markdown";
8106
- html: "html";
8107
8312
  attachment: "attachment";
8108
8313
  relation: "relation";
8109
8314
  checkbox: "checkbox";
@@ -8483,9 +8688,9 @@ declare const cloudContract: {
8483
8688
  email: "email";
8484
8689
  date: "date";
8485
8690
  text: "text";
8691
+ html: "html";
8486
8692
  longtext: "longtext";
8487
8693
  markdown: "markdown";
8488
- html: "html";
8489
8694
  attachment: "attachment";
8490
8695
  relation: "relation";
8491
8696
  checkbox: "checkbox";
@@ -8865,9 +9070,9 @@ declare const cloudContract: {
8865
9070
  email: "email";
8866
9071
  date: "date";
8867
9072
  text: "text";
9073
+ html: "html";
8868
9074
  longtext: "longtext";
8869
9075
  markdown: "markdown";
8870
- html: "html";
8871
9076
  attachment: "attachment";
8872
9077
  relation: "relation";
8873
9078
  checkbox: "checkbox";
@@ -9248,9 +9453,9 @@ declare const cloudContract: {
9248
9453
  email: "email";
9249
9454
  date: "date";
9250
9455
  text: "text";
9456
+ html: "html";
9251
9457
  longtext: "longtext";
9252
9458
  markdown: "markdown";
9253
- html: "html";
9254
9459
  attachment: "attachment";
9255
9460
  relation: "relation";
9256
9461
  checkbox: "checkbox";
@@ -9694,9 +9899,9 @@ declare const cloudContract: {
9694
9899
  email: "email";
9695
9900
  date: "date";
9696
9901
  text: "text";
9902
+ html: "html";
9697
9903
  longtext: "longtext";
9698
9904
  markdown: "markdown";
9699
- html: "html";
9700
9905
  attachment: "attachment";
9701
9906
  relation: "relation";
9702
9907
  checkbox: "checkbox";
@@ -10162,9 +10367,9 @@ declare const cloudContract: {
10162
10367
  email: "email";
10163
10368
  date: "date";
10164
10369
  text: "text";
10370
+ html: "html";
10165
10371
  longtext: "longtext";
10166
10372
  markdown: "markdown";
10167
- html: "html";
10168
10373
  attachment: "attachment";
10169
10374
  relation: "relation";
10170
10375
  checkbox: "checkbox";
@@ -10608,9 +10813,9 @@ declare const cloudContract: {
10608
10813
  email: "email";
10609
10814
  date: "date";
10610
10815
  text: "text";
10816
+ html: "html";
10611
10817
  longtext: "longtext";
10612
10818
  markdown: "markdown";
10613
- html: "html";
10614
10819
  attachment: "attachment";
10615
10820
  relation: "relation";
10616
10821
  checkbox: "checkbox";
@@ -11076,9 +11281,9 @@ declare const cloudContract: {
11076
11281
  email: "email";
11077
11282
  date: "date";
11078
11283
  text: "text";
11284
+ html: "html";
11079
11285
  longtext: "longtext";
11080
11286
  markdown: "markdown";
11081
- html: "html";
11082
11287
  attachment: "attachment";
11083
11288
  relation: "relation";
11084
11289
  checkbox: "checkbox";
@@ -11558,9 +11763,9 @@ declare const cloudContract: {
11558
11763
  email: "email";
11559
11764
  date: "date";
11560
11765
  text: "text";
11766
+ html: "html";
11561
11767
  longtext: "longtext";
11562
11768
  markdown: "markdown";
11563
- html: "html";
11564
11769
  attachment: "attachment";
11565
11770
  relation: "relation";
11566
11771
  checkbox: "checkbox";
@@ -12026,9 +12231,9 @@ declare const cloudContract: {
12026
12231
  email: "email";
12027
12232
  date: "date";
12028
12233
  text: "text";
12234
+ html: "html";
12029
12235
  longtext: "longtext";
12030
12236
  markdown: "markdown";
12031
- html: "html";
12032
12237
  attachment: "attachment";
12033
12238
  relation: "relation";
12034
12239
  checkbox: "checkbox";
@@ -12465,9 +12670,9 @@ declare const cloudContract: {
12465
12670
  email: "email";
12466
12671
  date: "date";
12467
12672
  text: "text";
12673
+ html: "html";
12468
12674
  longtext: "longtext";
12469
12675
  markdown: "markdown";
12470
- html: "html";
12471
12676
  attachment: "attachment";
12472
12677
  relation: "relation";
12473
12678
  checkbox: "checkbox";
@@ -12891,9 +13096,9 @@ declare const cloudContract: {
12891
13096
  email: "email";
12892
13097
  date: "date";
12893
13098
  text: "text";
13099
+ html: "html";
12894
13100
  longtext: "longtext";
12895
13101
  markdown: "markdown";
12896
- html: "html";
12897
13102
  attachment: "attachment";
12898
13103
  relation: "relation";
12899
13104
  checkbox: "checkbox";
@@ -13301,9 +13506,9 @@ declare const cloudContract: {
13301
13506
  email: "email";
13302
13507
  date: "date";
13303
13508
  text: "text";
13509
+ html: "html";
13304
13510
  longtext: "longtext";
13305
13511
  markdown: "markdown";
13306
- html: "html";
13307
13512
  attachment: "attachment";
13308
13513
  relation: "relation";
13309
13514
  checkbox: "checkbox";
@@ -13936,9 +14141,9 @@ declare const cloudContract: {
13936
14141
  email: "email";
13937
14142
  date: "date";
13938
14143
  text: "text";
14144
+ html: "html";
13939
14145
  longtext: "longtext";
13940
14146
  markdown: "markdown";
13941
- html: "html";
13942
14147
  attachment: "attachment";
13943
14148
  relation: "relation";
13944
14149
  checkbox: "checkbox";
@@ -14954,9 +15159,9 @@ declare const cloudContract: {
14954
15159
  email: "email";
14955
15160
  date: "date";
14956
15161
  text: "text";
15162
+ html: "html";
14957
15163
  longtext: "longtext";
14958
15164
  markdown: "markdown";
14959
- html: "html";
14960
15165
  attachment: "attachment";
14961
15166
  relation: "relation";
14962
15167
  checkbox: "checkbox";
@@ -15346,9 +15551,9 @@ declare const cloudContract: {
15346
15551
  email: "email";
15347
15552
  date: "date";
15348
15553
  text: "text";
15554
+ html: "html";
15349
15555
  longtext: "longtext";
15350
15556
  markdown: "markdown";
15351
- html: "html";
15352
15557
  attachment: "attachment";
15353
15558
  relation: "relation";
15354
15559
  checkbox: "checkbox";
@@ -15736,9 +15941,9 @@ declare const cloudContract: {
15736
15941
  email: "email";
15737
15942
  date: "date";
15738
15943
  text: "text";
15944
+ html: "html";
15739
15945
  longtext: "longtext";
15740
15946
  markdown: "markdown";
15741
- html: "html";
15742
15947
  attachment: "attachment";
15743
15948
  relation: "relation";
15744
15949
  checkbox: "checkbox";
@@ -16121,9 +16326,9 @@ declare const cloudContract: {
16121
16326
  email: "email";
16122
16327
  date: "date";
16123
16328
  text: "text";
16329
+ html: "html";
16124
16330
  longtext: "longtext";
16125
16331
  markdown: "markdown";
16126
- html: "html";
16127
16332
  attachment: "attachment";
16128
16333
  relation: "relation";
16129
16334
  checkbox: "checkbox";
@@ -16517,9 +16722,9 @@ declare const cloudContract: {
16517
16722
  email: "email";
16518
16723
  date: "date";
16519
16724
  text: "text";
16725
+ html: "html";
16520
16726
  longtext: "longtext";
16521
16727
  markdown: "markdown";
16522
- html: "html";
16523
16728
  attachment: "attachment";
16524
16729
  relation: "relation";
16525
16730
  checkbox: "checkbox";
@@ -16898,9 +17103,9 @@ declare const cloudContract: {
16898
17103
  email: "email";
16899
17104
  date: "date";
16900
17105
  text: "text";
17106
+ html: "html";
16901
17107
  longtext: "longtext";
16902
17108
  markdown: "markdown";
16903
- html: "html";
16904
17109
  attachment: "attachment";
16905
17110
  relation: "relation";
16906
17111
  checkbox: "checkbox";
@@ -17264,9 +17469,9 @@ declare const cloudContract: {
17264
17469
  email: "email";
17265
17470
  date: "date";
17266
17471
  text: "text";
17472
+ html: "html";
17267
17473
  longtext: "longtext";
17268
17474
  markdown: "markdown";
17269
- html: "html";
17270
17475
  attachment: "attachment";
17271
17476
  relation: "relation";
17272
17477
  checkbox: "checkbox";
@@ -17420,6 +17625,7 @@ declare const cloudContract: {
17420
17625
  fieldId: z.ZodOptional<z.ZodString>;
17421
17626
  }, z.core.$strip>>>;
17422
17627
  visibleFieldSlugs: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
17628
+ fieldWidths: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
17423
17629
  coverFieldSlug: z.ZodOptional<z.ZodNullable<z.ZodString>>;
17424
17630
  coverFit: z.ZodOptional<z.ZodEnum<{
17425
17631
  cover: "cover";
@@ -17539,9 +17745,9 @@ declare const cloudContract: {
17539
17745
  email: "email";
17540
17746
  date: "date";
17541
17747
  text: "text";
17748
+ html: "html";
17542
17749
  longtext: "longtext";
17543
17750
  markdown: "markdown";
17544
- html: "html";
17545
17751
  attachment: "attachment";
17546
17752
  relation: "relation";
17547
17753
  checkbox: "checkbox";
@@ -17909,9 +18115,9 @@ declare const cloudContract: {
17909
18115
  email: "email";
17910
18116
  date: "date";
17911
18117
  text: "text";
18118
+ html: "html";
17912
18119
  longtext: "longtext";
17913
18120
  markdown: "markdown";
17914
- html: "html";
17915
18121
  attachment: "attachment";
17916
18122
  relation: "relation";
17917
18123
  checkbox: "checkbox";
@@ -18107,9 +18313,9 @@ declare const cloudContract: {
18107
18313
  email: "email";
18108
18314
  date: "date";
18109
18315
  text: "text";
18316
+ html: "html";
18110
18317
  longtext: "longtext";
18111
18318
  markdown: "markdown";
18112
- html: "html";
18113
18319
  attachment: "attachment";
18114
18320
  relation: "relation";
18115
18321
  checkbox: "checkbox";
@@ -18288,9 +18494,9 @@ declare const cloudContract: {
18288
18494
  email: "email";
18289
18495
  date: "date";
18290
18496
  text: "text";
18497
+ html: "html";
18291
18498
  longtext: "longtext";
18292
18499
  markdown: "markdown";
18293
- html: "html";
18294
18500
  attachment: "attachment";
18295
18501
  relation: "relation";
18296
18502
  checkbox: "checkbox";
@@ -18465,9 +18671,9 @@ declare const cloudContract: {
18465
18671
  email: "email";
18466
18672
  date: "date";
18467
18673
  text: "text";
18674
+ html: "html";
18468
18675
  longtext: "longtext";
18469
18676
  markdown: "markdown";
18470
- html: "html";
18471
18677
  attachment: "attachment";
18472
18678
  relation: "relation";
18473
18679
  checkbox: "checkbox";
@@ -18655,9 +18861,9 @@ declare const cloudContract: {
18655
18861
  email: "email";
18656
18862
  date: "date";
18657
18863
  text: "text";
18864
+ html: "html";
18658
18865
  longtext: "longtext";
18659
18866
  markdown: "markdown";
18660
- html: "html";
18661
18867
  attachment: "attachment";
18662
18868
  relation: "relation";
18663
18869
  checkbox: "checkbox";
@@ -19040,9 +19246,9 @@ declare const cloudContract: {
19040
19246
  email: "email";
19041
19247
  date: "date";
19042
19248
  text: "text";
19249
+ html: "html";
19043
19250
  longtext: "longtext";
19044
19251
  markdown: "markdown";
19045
- html: "html";
19046
19252
  attachment: "attachment";
19047
19253
  relation: "relation";
19048
19254
  checkbox: "checkbox";
@@ -19420,9 +19626,9 @@ declare const cloudContract: {
19420
19626
  email: "email";
19421
19627
  date: "date";
19422
19628
  text: "text";
19629
+ html: "html";
19423
19630
  longtext: "longtext";
19424
19631
  markdown: "markdown";
19425
- html: "html";
19426
19632
  attachment: "attachment";
19427
19633
  relation: "relation";
19428
19634
  checkbox: "checkbox";
@@ -19802,9 +20008,9 @@ declare const cloudContract: {
19802
20008
  email: "email";
19803
20009
  date: "date";
19804
20010
  text: "text";
20011
+ html: "html";
19805
20012
  longtext: "longtext";
19806
20013
  markdown: "markdown";
19807
- html: "html";
19808
20014
  attachment: "attachment";
19809
20015
  relation: "relation";
19810
20016
  checkbox: "checkbox";
@@ -20157,6 +20363,7 @@ declare const cloudContract: {
20157
20363
  fieldId: z.ZodOptional<z.ZodString>;
20158
20364
  }, z.core.$strip>>>;
20159
20365
  visibleFieldSlugs: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
20366
+ fieldWidths: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
20160
20367
  coverFieldSlug: z.ZodOptional<z.ZodNullable<z.ZodString>>;
20161
20368
  coverFit: z.ZodOptional<z.ZodEnum<{
20162
20369
  cover: "cover";
@@ -20253,9 +20460,9 @@ declare const cloudContract: {
20253
20460
  email: "email";
20254
20461
  date: "date";
20255
20462
  text: "text";
20463
+ html: "html";
20256
20464
  longtext: "longtext";
20257
20465
  markdown: "markdown";
20258
- html: "html";
20259
20466
  attachment: "attachment";
20260
20467
  relation: "relation";
20261
20468
  checkbox: "checkbox";
@@ -20635,9 +20842,9 @@ declare const cloudContract: {
20635
20842
  email: "email";
20636
20843
  date: "date";
20637
20844
  text: "text";
20845
+ html: "html";
20638
20846
  longtext: "longtext";
20639
20847
  markdown: "markdown";
20640
- html: "html";
20641
20848
  attachment: "attachment";
20642
20849
  relation: "relation";
20643
20850
  checkbox: "checkbox";
@@ -21017,9 +21224,9 @@ declare const cloudContract: {
21017
21224
  email: "email";
21018
21225
  date: "date";
21019
21226
  text: "text";
21227
+ html: "html";
21020
21228
  longtext: "longtext";
21021
21229
  markdown: "markdown";
21022
- html: "html";
21023
21230
  attachment: "attachment";
21024
21231
  relation: "relation";
21025
21232
  checkbox: "checkbox";
@@ -21560,10 +21767,14 @@ type ViewType = "table" | "gallery" | "kanban" | "calendar" | "gantt";
21560
21767
  type GalleryCoverFit = "cover" | "fit";
21561
21768
  type GalleryCardSize = "small" | "medium" | "large";
21562
21769
  type GanttScale = "week" | "month";
21770
+ declare const VIEW_FIELD_MIN_WIDTH = 92;
21771
+ declare const VIEW_FIELD_MAX_WIDTH = 640;
21563
21772
  interface ViewConfigVO {
21564
21773
  filters: ViewFilterVO[];
21565
21774
  sorts: ViewSortVO[];
21566
21775
  visibleFieldSlugs?: string[] | null;
21776
+ /** Table-only column widths in pixels, keyed by field slug. */
21777
+ fieldWidths?: Record<string, number>;
21567
21778
  coverFieldSlug?: string | null;
21568
21779
  coverFit?: GalleryCoverFit;
21569
21780
  cardSize?: GalleryCardSize;
@@ -21694,9 +21905,9 @@ declare const activityItemSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
21694
21905
  email: "email";
21695
21906
  date: "date";
21696
21907
  text: "text";
21908
+ html: "html";
21697
21909
  longtext: "longtext";
21698
21910
  markdown: "markdown";
21699
- html: "html";
21700
21911
  attachment: "attachment";
21701
21912
  relation: "relation";
21702
21913
  checkbox: "checkbox";
@@ -22076,9 +22287,9 @@ declare const activityItemSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
22076
22287
  email: "email";
22077
22288
  date: "date";
22078
22289
  text: "text";
22290
+ html: "html";
22079
22291
  longtext: "longtext";
22080
22292
  markdown: "markdown";
22081
- html: "html";
22082
22293
  attachment: "attachment";
22083
22294
  relation: "relation";
22084
22295
  checkbox: "checkbox";
@@ -22445,9 +22656,9 @@ declare const activityItemSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
22445
22656
  email: "email";
22446
22657
  date: "date";
22447
22658
  text: "text";
22659
+ html: "html";
22448
22660
  longtext: "longtext";
22449
22661
  markdown: "markdown";
22450
- html: "html";
22451
22662
  attachment: "attachment";
22452
22663
  relation: "relation";
22453
22664
  checkbox: "checkbox";
@@ -22660,9 +22871,9 @@ declare const activityItemSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
22660
22871
  email: "email";
22661
22872
  date: "date";
22662
22873
  text: "text";
22874
+ html: "html";
22663
22875
  longtext: "longtext";
22664
22876
  markdown: "markdown";
22665
- html: "html";
22666
22877
  attachment: "attachment";
22667
22878
  relation: "relation";
22668
22879
  checkbox: "checkbox";
@@ -23368,6 +23579,7 @@ declare class Busabase {
23368
23579
  get folders(): BusabaseClient["folders"];
23369
23580
  get agentTasks(): BusabaseClient["agentTasks"];
23370
23581
  get webhooks(): BusabaseClient["webhooks"];
23582
+ get embedLinks(): BusabaseClient["embedLinks"];
23371
23583
  /** Full-text search across records, change requests, and Bases. */
23372
23584
  search(input: Parameters<BusabaseClient["search"]>[0]): _orpc_client.ClientPromiseResult<{
23373
23585
  query: string;
@@ -23485,4 +23697,4 @@ declare class Busabase {
23485
23697
  }>>>>;
23486
23698
  }
23487
23699
 
23488
- export { type ActivityItemVO, type AgentTaskVO, type FileTreeFileVO as AirAppFileVO, type FileTreeReadFileVO as AirAppReadFileVO, type FileTreeNodeVO as AirAppVO, type AssetAttachmentRef, type AssetDetailVO, type AssetTextStatus, type AssetUsageVO, type AssetVO, type AttachmentRef, type AuditAction, type AuditEventVO, type BaseFieldVO, type BaseVO, Busabase, type BusabaseClient, type BusabaseConfig, type BusabaseRpcConfig, CREATABLE_NODE_TYPES, type ChangeRequestBatchResultVO, type ChangeRequestCountsVO, type ChangeRequestStatus, type ChangeRequestTargetType, type ChangeRequestVO, type CloudContract, type CommentSubjectType, type CommentVO, type CommitVO, type CreatableNodeType, DEFAULT_BASE_URL, type FileTreeFileVO as DriveFileVO, type FileTreeReadFileVO as DriveReadFileVO, type FileTreeNodeVO as DriveVO, type FieldType, type FileNodeMetadata, type FileNodeVO, type FileTreeFileVO, type FileTreeNodeVO, type FileTreeReadFileVO, type GalleryCardSize, type GalleryCoverFit, type GanttScale, type NodeSearchResultVO, type NodeType, type NodeVO, type OperationKind, type OperationStatus, type OperationVO, type RecordLinkVO, type RecordVO, type ResolvedConfig, type ReviewVO, type ReviewVerdict, type SearchResponseVO, type SearchResultKind, type SearchResultVO, type FileTreeFileVO as SkillFileVO, type FileTreeReadFileVO as SkillReadFileVO, type FileTreeNodeVO as SkillVO, type UpdateVaultSettingsDTO, type UserRefVO, type VaultAccessPolicy, type VaultEnvironment, type VaultItemInput, type VaultItemKind, type VaultItemVO, type VaultRuntimeEnv, type VaultScopeType, type VaultSettingsVO, type ViewConfigVO, type ViewFilterOperator, type ViewFilterVO, type ViewSortVO, type ViewType, type ViewVO, cloudContract, createBusabaseClient, createBusabaseRpcClient, normalizeBaseUrl, resolveConfig };
23700
+ export { type ActivityItemVO, type AgentTaskVO, type FileTreeFileVO as AirAppFileVO, type FileTreeReadFileVO as AirAppReadFileVO, type FileTreeNodeVO as AirAppVO, type AssetAttachmentRef, type AssetDetailVO, type AssetTextStatus, type AssetUsageVO, type AssetVO, type AttachmentRef, type AuditAction, type AuditEventVO, type BaseFieldVO, type BaseVO, Busabase, type BusabaseClient, type BusabaseConfig, type BusabaseRpcConfig, CREATABLE_NODE_TYPES, type ChangeRequestBatchResultVO, type ChangeRequestCountsVO, type ChangeRequestStatus, type ChangeRequestTargetType, type ChangeRequestVO, type CloudContract, type CommentSubjectType, type CommentVO, type CommitVO, type CreatableNodeType, DEFAULT_BASE_URL, type FileTreeFileVO as DriveFileVO, type FileTreeReadFileVO as DriveReadFileVO, type FileTreeNodeVO as DriveVO, type FieldType, type FileNodeMetadata, type FileNodeVO, type FileTreeFileVO, type FileTreeNodeVO, type FileTreeReadFileVO, type GalleryCardSize, type GalleryCoverFit, type GanttScale, type NodeSearchResultVO, type NodeType, type NodeVO, type OperationKind, type OperationStatus, type OperationVO, type RecordLinkVO, type RecordVO, type ResolvedConfig, type ReviewVO, type ReviewVerdict, type SearchResponseVO, type SearchResultKind, type SearchResultVO, type FileTreeFileVO as SkillFileVO, type FileTreeReadFileVO as SkillReadFileVO, type FileTreeNodeVO as SkillVO, type UpdateVaultSettingsDTO, type UserRefVO, VIEW_FIELD_MAX_WIDTH, VIEW_FIELD_MIN_WIDTH, type VaultAccessPolicy, type VaultEnvironment, type VaultItemInput, type VaultItemKind, type VaultItemVO, type VaultRuntimeEnv, type VaultScopeType, type VaultSettingsVO, type ViewConfigVO, type ViewFilterOperator, type ViewFilterVO, type ViewSortVO, type ViewType, type ViewVO, cloudContract, createBusabaseClient, createBusabaseRpcClient, normalizeBaseUrl, resolveConfig };
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);
@@ -1352,6 +1382,12 @@ var assetsContract = {
1352
1382
  successDescription: `Applied the string-replace edits (coding-agent Edit-tool semantics: unique-match or replaceAll) to the asset's current mounted Drive/Skill file content and proposed the result as a ChangeRequest (status "in_review") for human review. Reuses the existing filetree update-via-CR pipeline end to end, including baseContentHash optimistic-concurrency conflict protection at merge time. Requires the asset to be mounted in exactly one editable Drive/Skill location.`
1353
1383
  }).input(EditAssetContentInputSchema).output(changeRequestSchema)
1354
1384
  };
1385
+
1386
+ // ../../packages/busabase-contract/src/domains/base/types.ts
1387
+ var VIEW_FIELD_MIN_WIDTH = 92;
1388
+ var VIEW_FIELD_MAX_WIDTH = 640;
1389
+
1390
+ // ../../packages/busabase-contract/src/domains/base/contract/view-schemas.ts
1355
1391
  var viewFilterOperatorSchema = z.enum([
1356
1392
  "contains",
1357
1393
  "equals",
@@ -1380,6 +1416,7 @@ var viewConfigSchema = z.object({
1380
1416
  filters: z.array(viewFilterSchema).default([]),
1381
1417
  sorts: z.array(viewSortSchema).default([]),
1382
1418
  visibleFieldSlugs: z.array(z.string()).nullable().optional(),
1419
+ fieldWidths: z.record(z.string().min(1), z.number().int().min(VIEW_FIELD_MIN_WIDTH).max(VIEW_FIELD_MAX_WIDTH)).optional(),
1383
1420
  // ── Gallery-only presentation config (ignored by table views) ──
1384
1421
  // Which attachment field supplies the cover image (null = no cover).
1385
1422
  coverFieldSlug: z.string().nullable().optional(),
@@ -2682,7 +2719,7 @@ var busabaseContractRoutes = {
2682
2719
  path: "/nodes/search",
2683
2720
  tags: ["Nodes", "Search"],
2684
2721
  summary: "Search nodes by name/slug (cheap, name-only quick-jump)",
2685
- 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."
2686
2723
  }).input(searchNodesByNameInputSchema).output(z.array(nodeSearchResultSchema)),
2687
2724
  isDescendant: oc.route({
2688
2725
  method: "GET",
@@ -2944,6 +2981,84 @@ var busabaseContractRoutes = {
2944
2981
  views: viewContract
2945
2982
  };
2946
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) });
2947
3062
 
2948
3063
  // ../../packages/busabase-contract/src/contract/cloud.ts
2949
3064
  var ErrorResponseSchema = z.object({
@@ -2999,6 +3114,16 @@ var notFoundErrors = {
2999
3114
  data: ErrorResponseSchema
3000
3115
  }
3001
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
+ });
3002
3127
  var { vault: _localVault, ...cloudWorkbenchRoutes } = busabaseContractRoutes;
3003
3128
  var cloudExtraRoutes = {
3004
3129
  system: {
@@ -3077,6 +3202,36 @@ var cloudExtraRoutes = {
3077
3202
  })
3078
3203
  })
3079
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)
3080
3235
  }
3081
3236
  };
3082
3237
  var cloudContract = oc.prefix("/api/v1").router({
@@ -3226,6 +3381,9 @@ var Busabase = class {
3226
3381
  get webhooks() {
3227
3382
  return this.client.webhooks;
3228
3383
  }
3384
+ get embedLinks() {
3385
+ return this.client.embedLinks;
3386
+ }
3229
3387
  /** Full-text search across records, change requests, and Bases. */
3230
3388
  search(input) {
3231
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.11",
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",
@@ -42,8 +42,8 @@
42
42
  "typescript": "^5.9.3",
43
43
  "vitest": "^2.1.8",
44
44
  "open-domains": "0.0.2",
45
- "busabase-contract": "0.9.11",
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"