@topolo/sdk 0.2.9 → 0.2.10
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/dist/index.cjs +174 -46
- package/dist/index.d.cts +135 -43
- package/dist/index.d.ts +135 -43
- package/dist/index.js +174 -46
- package/package.json +1 -1
- package/src/application-requirements.ts +3 -1
- package/src/applications.generated.ts +160 -41
- package/src/services.generated.ts +9 -2
- package/src/services.test.ts +10 -4
package/dist/index.d.cts
CHANGED
|
@@ -43,7 +43,8 @@ declare const SERVICES: {
|
|
|
43
43
|
readonly commerce: "https://commerce-api.topolo.app";
|
|
44
44
|
readonly compose: "https://compose.topolo.app";
|
|
45
45
|
readonly crm: "https://crm-api.topolo.app";
|
|
46
|
-
readonly customer_success: "https://
|
|
46
|
+
readonly customer_success: "https://success.topolo.app";
|
|
47
|
+
readonly director: "https://director.topolo.app";
|
|
47
48
|
readonly feed: "https://feed-api.topolo.app";
|
|
48
49
|
readonly flow: "https://flow.topolo.app";
|
|
49
50
|
readonly forecast: "https://forecast-api.topolo.app";
|
|
@@ -51,6 +52,7 @@ declare const SERVICES: {
|
|
|
51
52
|
readonly insights: "https://insights.topolo.app";
|
|
52
53
|
readonly inventory: "https://inventory.topolo.app";
|
|
53
54
|
readonly learn: "https://learn-api.topolo.app";
|
|
55
|
+
readonly localize: "https://localize.topolo.app";
|
|
54
56
|
readonly mail: "https://mail.topolo.app";
|
|
55
57
|
readonly mdm: "https://mdm-api.topolo.app";
|
|
56
58
|
readonly messaging: "https://messages.topolo.app";
|
|
@@ -67,6 +69,7 @@ declare const SERVICES: {
|
|
|
67
69
|
readonly sign: "https://sign.topolo.app";
|
|
68
70
|
readonly social_studio: "https://studio-api.topolo.app";
|
|
69
71
|
readonly socialize: "https://socialize-api.topolo.app";
|
|
72
|
+
readonly status: "https://status.topolo.app";
|
|
70
73
|
readonly support: "https://support.topolo.app";
|
|
71
74
|
readonly survey: "https://survey.topolo.app";
|
|
72
75
|
readonly voice: "https://voice.topolo.app";
|
|
@@ -171,14 +174,14 @@ declare const APPLICATIONS: {
|
|
|
171
174
|
readonly productionUrl: "https://bytes.topolo.app";
|
|
172
175
|
readonly services: readonly ["bytes"];
|
|
173
176
|
readonly deployTargets: readonly [{
|
|
174
|
-
readonly name: "bytes";
|
|
177
|
+
readonly name: "topolo-bytes";
|
|
175
178
|
readonly kind: "pages";
|
|
176
179
|
readonly apiUrl: null;
|
|
177
180
|
readonly domains: readonly ["bytes.topolo.app"];
|
|
178
181
|
readonly routes: readonly [];
|
|
179
182
|
readonly serviceId: null;
|
|
180
183
|
}, {
|
|
181
|
-
readonly name: "
|
|
184
|
+
readonly name: "topolo-bytes-api";
|
|
182
185
|
readonly kind: "worker";
|
|
183
186
|
readonly apiUrl: "https://bytes-api.topolo.app";
|
|
184
187
|
readonly domains: readonly ["bytes-api.topolo.app"];
|
|
@@ -246,7 +249,7 @@ declare const APPLICATIONS: {
|
|
|
246
249
|
readonly cloudcontrol: {
|
|
247
250
|
readonly id: "cloudcontrol";
|
|
248
251
|
readonly appDir: "TopoloCloudControl";
|
|
249
|
-
readonly name: "
|
|
252
|
+
readonly name: "cloudcontrol";
|
|
250
253
|
readonly packageName: "topolo-cloudcontrol";
|
|
251
254
|
readonly productionUrl: null;
|
|
252
255
|
readonly services: readonly [];
|
|
@@ -313,37 +316,53 @@ declare const APPLICATIONS: {
|
|
|
313
316
|
readonly productionUrl: "https://crm.topolo.app";
|
|
314
317
|
readonly services: readonly ["crm"];
|
|
315
318
|
readonly deployTargets: readonly [{
|
|
316
|
-
readonly name: "topolo-crm-
|
|
317
|
-
readonly kind: "pages";
|
|
318
|
-
readonly apiUrl: null;
|
|
319
|
-
readonly domains: readonly ["crm.topolo.app"];
|
|
320
|
-
readonly routes: readonly [];
|
|
321
|
-
readonly serviceId: null;
|
|
322
|
-
}, {
|
|
323
|
-
readonly name: "topolo-crm-worker";
|
|
319
|
+
readonly name: "topolo-crm-api";
|
|
324
320
|
readonly kind: "worker";
|
|
325
321
|
readonly apiUrl: "https://crm-api.topolo.app";
|
|
326
322
|
readonly domains: readonly ["crm-api.topolo.app"];
|
|
327
323
|
readonly routes: readonly [];
|
|
328
324
|
readonly serviceId: "crm";
|
|
325
|
+
}, {
|
|
326
|
+
readonly name: "topolo-crm-app";
|
|
327
|
+
readonly kind: "pages";
|
|
328
|
+
readonly apiUrl: null;
|
|
329
|
+
readonly domains: readonly ["crm.topolo.app"];
|
|
330
|
+
readonly routes: readonly [];
|
|
331
|
+
readonly serviceId: null;
|
|
329
332
|
}];
|
|
330
333
|
};
|
|
331
334
|
readonly customer_success: {
|
|
332
335
|
readonly id: "customer_success";
|
|
333
|
-
readonly appDir: "
|
|
334
|
-
readonly name: "topolo-
|
|
335
|
-
readonly packageName: "topolo-
|
|
336
|
-
readonly productionUrl: "https://
|
|
336
|
+
readonly appDir: "TopoloSuccess";
|
|
337
|
+
readonly name: "topolo-success";
|
|
338
|
+
readonly packageName: "topolo-success";
|
|
339
|
+
readonly productionUrl: "https://success.topolo.app";
|
|
337
340
|
readonly services: readonly ["customer_success"];
|
|
338
341
|
readonly deployTargets: readonly [{
|
|
339
|
-
readonly name: "topolo-
|
|
342
|
+
readonly name: "topolo-success";
|
|
340
343
|
readonly kind: "worker";
|
|
341
|
-
readonly apiUrl: "https://
|
|
342
|
-
readonly domains: readonly ["
|
|
343
|
-
readonly routes: readonly ["
|
|
344
|
+
readonly apiUrl: "https://success.topolo.app";
|
|
345
|
+
readonly domains: readonly ["success.topolo.app"];
|
|
346
|
+
readonly routes: readonly ["success.topolo.app"];
|
|
344
347
|
readonly serviceId: "customer_success";
|
|
345
348
|
}];
|
|
346
349
|
};
|
|
350
|
+
readonly d1_backup: {
|
|
351
|
+
readonly id: "d1_backup";
|
|
352
|
+
readonly appDir: "TopoloD1Backup";
|
|
353
|
+
readonly name: "topolo-d1-backup";
|
|
354
|
+
readonly packageName: "topolo-d1-backup";
|
|
355
|
+
readonly productionUrl: null;
|
|
356
|
+
readonly services: readonly [];
|
|
357
|
+
readonly deployTargets: readonly [{
|
|
358
|
+
readonly name: "topolo-d1-backup";
|
|
359
|
+
readonly kind: "worker";
|
|
360
|
+
readonly apiUrl: null;
|
|
361
|
+
readonly domains: readonly [];
|
|
362
|
+
readonly routes: readonly [];
|
|
363
|
+
readonly serviceId: null;
|
|
364
|
+
}];
|
|
365
|
+
};
|
|
347
366
|
readonly developers: {
|
|
348
367
|
readonly id: "developers";
|
|
349
368
|
readonly appDir: "TopoloDevelopers";
|
|
@@ -352,6 +371,13 @@ declare const APPLICATIONS: {
|
|
|
352
371
|
readonly productionUrl: "https://developers.topolo.app";
|
|
353
372
|
readonly services: readonly [];
|
|
354
373
|
readonly deployTargets: readonly [{
|
|
374
|
+
readonly name: "topolo-catalog-cron";
|
|
375
|
+
readonly kind: "worker";
|
|
376
|
+
readonly apiUrl: null;
|
|
377
|
+
readonly domains: readonly [];
|
|
378
|
+
readonly routes: readonly [];
|
|
379
|
+
readonly serviceId: null;
|
|
380
|
+
}, {
|
|
355
381
|
readonly name: "topolo-developers";
|
|
356
382
|
readonly kind: "pages";
|
|
357
383
|
readonly apiUrl: null;
|
|
@@ -360,6 +386,22 @@ declare const APPLICATIONS: {
|
|
|
360
386
|
readonly serviceId: null;
|
|
361
387
|
}];
|
|
362
388
|
};
|
|
389
|
+
readonly director: {
|
|
390
|
+
readonly id: "director";
|
|
391
|
+
readonly appDir: "TopoloDirector";
|
|
392
|
+
readonly name: "topolo-director";
|
|
393
|
+
readonly packageName: "topolo-director";
|
|
394
|
+
readonly productionUrl: "https://director.topolo.app";
|
|
395
|
+
readonly services: readonly ["director"];
|
|
396
|
+
readonly deployTargets: readonly [{
|
|
397
|
+
readonly name: "topolo-director";
|
|
398
|
+
readonly kind: "worker";
|
|
399
|
+
readonly apiUrl: "https://director.topolo.app";
|
|
400
|
+
readonly domains: readonly ["director.topolo.app"];
|
|
401
|
+
readonly routes: readonly ["director.topolo.app"];
|
|
402
|
+
readonly serviceId: "director";
|
|
403
|
+
}];
|
|
404
|
+
};
|
|
363
405
|
readonly docs: {
|
|
364
406
|
readonly id: "docs";
|
|
365
407
|
readonly appDir: "TopoloDocs";
|
|
@@ -423,14 +465,14 @@ declare const APPLICATIONS: {
|
|
|
423
465
|
readonly productionUrl: "https://forecast.topolo.app";
|
|
424
466
|
readonly services: readonly ["forecast"];
|
|
425
467
|
readonly deployTargets: readonly [{
|
|
426
|
-
readonly name: "forecast";
|
|
468
|
+
readonly name: "topolo-forecast";
|
|
427
469
|
readonly kind: "pages";
|
|
428
470
|
readonly apiUrl: null;
|
|
429
471
|
readonly domains: readonly ["forecast.topolo.app"];
|
|
430
472
|
readonly routes: readonly [];
|
|
431
473
|
readonly serviceId: null;
|
|
432
474
|
}, {
|
|
433
|
-
readonly name: "forecast-
|
|
475
|
+
readonly name: "topolo-forecast-api";
|
|
434
476
|
readonly kind: "worker";
|
|
435
477
|
readonly apiUrl: "https://forecast-api.topolo.app";
|
|
436
478
|
readonly domains: readonly ["forecast-api.topolo.app"];
|
|
@@ -494,14 +536,14 @@ declare const APPLICATIONS: {
|
|
|
494
536
|
readonly productionUrl: "https://learn.topolo.app";
|
|
495
537
|
readonly services: readonly ["learn"];
|
|
496
538
|
readonly deployTargets: readonly [{
|
|
497
|
-
readonly name: "
|
|
539
|
+
readonly name: "topolo-learn";
|
|
498
540
|
readonly kind: "pages";
|
|
499
541
|
readonly apiUrl: null;
|
|
500
542
|
readonly domains: readonly ["learn.topolo.app"];
|
|
501
543
|
readonly routes: readonly [];
|
|
502
544
|
readonly serviceId: null;
|
|
503
545
|
}, {
|
|
504
|
-
readonly name: "
|
|
546
|
+
readonly name: "topolo-learn-api";
|
|
505
547
|
readonly kind: "worker";
|
|
506
548
|
readonly apiUrl: "https://learn-api.topolo.app";
|
|
507
549
|
readonly domains: readonly ["learn-api.topolo.app"];
|
|
@@ -509,6 +551,22 @@ declare const APPLICATIONS: {
|
|
|
509
551
|
readonly serviceId: "learn";
|
|
510
552
|
}];
|
|
511
553
|
};
|
|
554
|
+
readonly localize: {
|
|
555
|
+
readonly id: "localize";
|
|
556
|
+
readonly appDir: "TopoloLocalize";
|
|
557
|
+
readonly name: "topolo-localize";
|
|
558
|
+
readonly packageName: "topolo-localize";
|
|
559
|
+
readonly productionUrl: "https://localize.topolo.app";
|
|
560
|
+
readonly services: readonly ["localize"];
|
|
561
|
+
readonly deployTargets: readonly [{
|
|
562
|
+
readonly name: "topolo-localize";
|
|
563
|
+
readonly kind: "worker";
|
|
564
|
+
readonly apiUrl: "https://localize.topolo.app";
|
|
565
|
+
readonly domains: readonly ["localize.topolo.app"];
|
|
566
|
+
readonly routes: readonly ["localize.topolo.app"];
|
|
567
|
+
readonly serviceId: "localize";
|
|
568
|
+
}];
|
|
569
|
+
};
|
|
512
570
|
readonly mail: {
|
|
513
571
|
readonly id: "mail";
|
|
514
572
|
readonly appDir: "TopoloMail";
|
|
@@ -538,7 +596,7 @@ declare const APPLICATIONS: {
|
|
|
538
596
|
readonly id: "mdm";
|
|
539
597
|
readonly appDir: "TopoloMDM";
|
|
540
598
|
readonly name: "TopoloMDM";
|
|
541
|
-
readonly packageName:
|
|
599
|
+
readonly packageName: "topolo-mdm";
|
|
542
600
|
readonly productionUrl: "https://mdm.topolo.app";
|
|
543
601
|
readonly services: readonly ["mdm"];
|
|
544
602
|
readonly deployTargets: readonly [{
|
|
@@ -619,6 +677,15 @@ declare const APPLICATIONS: {
|
|
|
619
677
|
readonly serviceId: "notify";
|
|
620
678
|
}];
|
|
621
679
|
};
|
|
680
|
+
readonly observability_watch: {
|
|
681
|
+
readonly id: "observability_watch";
|
|
682
|
+
readonly appDir: "TopoloObservabilityWatch";
|
|
683
|
+
readonly name: "topolo-observability-watch";
|
|
684
|
+
readonly packageName: "topolo-observability-watch";
|
|
685
|
+
readonly productionUrl: null;
|
|
686
|
+
readonly services: readonly [];
|
|
687
|
+
readonly deployTargets: readonly [];
|
|
688
|
+
};
|
|
622
689
|
readonly one: {
|
|
623
690
|
readonly id: "one";
|
|
624
691
|
readonly appDir: "TopoloOne";
|
|
@@ -634,25 +701,25 @@ declare const APPLICATIONS: {
|
|
|
634
701
|
readonly routes: readonly [];
|
|
635
702
|
readonly serviceId: "one.ai";
|
|
636
703
|
}, {
|
|
637
|
-
readonly name: "
|
|
704
|
+
readonly name: "topolo-one";
|
|
638
705
|
readonly kind: "pages";
|
|
639
706
|
readonly apiUrl: null;
|
|
640
707
|
readonly domains: readonly ["one.topolo.app"];
|
|
641
708
|
readonly routes: readonly [];
|
|
642
709
|
readonly serviceId: null;
|
|
643
710
|
}, {
|
|
644
|
-
readonly name: "
|
|
711
|
+
readonly name: "topolo-one-website";
|
|
645
712
|
readonly kind: "worker";
|
|
646
713
|
readonly apiUrl: null;
|
|
647
|
-
readonly domains: readonly ["
|
|
714
|
+
readonly domains: readonly ["topolo.io", "www.topolo.io"];
|
|
648
715
|
readonly routes: readonly [];
|
|
649
716
|
readonly serviceId: null;
|
|
650
717
|
}, {
|
|
651
|
-
readonly name: "
|
|
718
|
+
readonly name: "topolo-one-worker";
|
|
652
719
|
readonly kind: "worker";
|
|
653
720
|
readonly apiUrl: "https://one.topolo.app";
|
|
654
|
-
readonly domains: readonly ["one.topolo.app"];
|
|
655
|
-
readonly routes: readonly ["one.topolo.app/*"];
|
|
721
|
+
readonly domains: readonly ["one.topolo.app", "topolo.app", "www.topolo.app"];
|
|
722
|
+
readonly routes: readonly ["one.topolo.app/*", "topolo.app", "www.topolo.app/*"];
|
|
656
723
|
readonly serviceId: "one";
|
|
657
724
|
}];
|
|
658
725
|
};
|
|
@@ -704,11 +771,20 @@ declare const APPLICATIONS: {
|
|
|
704
771
|
readonly serviceId: "people";
|
|
705
772
|
}];
|
|
706
773
|
};
|
|
774
|
+
readonly pulse: {
|
|
775
|
+
readonly id: "pulse";
|
|
776
|
+
readonly appDir: "TopoloPulse";
|
|
777
|
+
readonly name: "topolo-pulse";
|
|
778
|
+
readonly packageName: "topolo-pulse";
|
|
779
|
+
readonly productionUrl: null;
|
|
780
|
+
readonly services: readonly [];
|
|
781
|
+
readonly deployTargets: readonly [];
|
|
782
|
+
};
|
|
707
783
|
readonly quro: {
|
|
708
784
|
readonly id: "quro";
|
|
709
785
|
readonly appDir: "TopoloQuro";
|
|
710
786
|
readonly name: "TopoloQuro";
|
|
711
|
-
readonly packageName:
|
|
787
|
+
readonly packageName: "topolo-quro";
|
|
712
788
|
readonly productionUrl: "https://quro.topolo.app";
|
|
713
789
|
readonly services: readonly ["quro.api", "quro.redirect"];
|
|
714
790
|
readonly deployTargets: readonly [{
|
|
@@ -742,14 +818,14 @@ declare const APPLICATIONS: {
|
|
|
742
818
|
readonly productionUrl: "https://roadmapper.topolo.app";
|
|
743
819
|
readonly services: readonly ["roadmapper"];
|
|
744
820
|
readonly deployTargets: readonly [{
|
|
745
|
-
readonly name: "roadmapper";
|
|
821
|
+
readonly name: "topolo-roadmapper";
|
|
746
822
|
readonly kind: "pages";
|
|
747
823
|
readonly apiUrl: null;
|
|
748
824
|
readonly domains: readonly ["roadmapper.topolo.app"];
|
|
749
825
|
readonly routes: readonly [];
|
|
750
826
|
readonly serviceId: null;
|
|
751
827
|
}, {
|
|
752
|
-
readonly name: "topolo-
|
|
828
|
+
readonly name: "topolo-roadmapper-api";
|
|
753
829
|
readonly kind: "worker";
|
|
754
830
|
readonly apiUrl: "https://roadmapper-api.topolo.app";
|
|
755
831
|
readonly domains: readonly ["roadmapper-api.topolo.app"];
|
|
@@ -811,21 +887,21 @@ declare const APPLICATIONS: {
|
|
|
811
887
|
readonly productionUrl: "https://socialize.topolo.app";
|
|
812
888
|
readonly services: readonly ["socialize"];
|
|
813
889
|
readonly deployTargets: readonly [{
|
|
814
|
-
readonly name: "socialize";
|
|
890
|
+
readonly name: "topolo-socialize";
|
|
815
891
|
readonly kind: "pages";
|
|
816
892
|
readonly apiUrl: null;
|
|
817
893
|
readonly domains: readonly ["socialize.topolo.app"];
|
|
818
894
|
readonly routes: readonly [];
|
|
819
895
|
readonly serviceId: null;
|
|
820
896
|
}, {
|
|
821
|
-
readonly name: "socialize-
|
|
897
|
+
readonly name: "topolo-socialize-api";
|
|
822
898
|
readonly kind: "worker";
|
|
823
899
|
readonly apiUrl: "https://socialize-api.topolo.app";
|
|
824
900
|
readonly domains: readonly ["socialize-api.topolo.app"];
|
|
825
901
|
readonly routes: readonly [];
|
|
826
902
|
readonly serviceId: "socialize";
|
|
827
903
|
}, {
|
|
828
|
-
readonly name: "socialize-
|
|
904
|
+
readonly name: "topolo-socialize-scheduler";
|
|
829
905
|
readonly kind: "worker";
|
|
830
906
|
readonly apiUrl: null;
|
|
831
907
|
readonly domains: readonly [];
|
|
@@ -833,6 +909,22 @@ declare const APPLICATIONS: {
|
|
|
833
909
|
readonly serviceId: null;
|
|
834
910
|
}];
|
|
835
911
|
};
|
|
912
|
+
readonly status: {
|
|
913
|
+
readonly id: "status";
|
|
914
|
+
readonly appDir: "TopoloStatus";
|
|
915
|
+
readonly name: "topolo-status";
|
|
916
|
+
readonly packageName: "topolo-status";
|
|
917
|
+
readonly productionUrl: "https://status.topolo.app";
|
|
918
|
+
readonly services: readonly ["status"];
|
|
919
|
+
readonly deployTargets: readonly [{
|
|
920
|
+
readonly name: "topolo-status";
|
|
921
|
+
readonly kind: "worker";
|
|
922
|
+
readonly apiUrl: "https://status.topolo.app";
|
|
923
|
+
readonly domains: readonly ["status.topolo.app"];
|
|
924
|
+
readonly routes: readonly ["status.topolo.app"];
|
|
925
|
+
readonly serviceId: "status";
|
|
926
|
+
}];
|
|
927
|
+
};
|
|
836
928
|
readonly support: {
|
|
837
929
|
readonly id: "support";
|
|
838
930
|
readonly appDir: "TopoloSupport";
|
|
@@ -889,21 +981,21 @@ declare const APPLICATIONS: {
|
|
|
889
981
|
readonly productionUrl: "https://web.topolo.app";
|
|
890
982
|
readonly services: readonly ["web"];
|
|
891
983
|
readonly deployTargets: readonly [{
|
|
892
|
-
readonly name: "
|
|
984
|
+
readonly name: "topolo-web-api";
|
|
893
985
|
readonly kind: "worker";
|
|
894
986
|
readonly apiUrl: "https://web-api.topolo.app";
|
|
895
987
|
readonly domains: readonly ["web-api.topolo.app"];
|
|
896
988
|
readonly routes: readonly [];
|
|
897
989
|
readonly serviceId: "web";
|
|
898
990
|
}, {
|
|
899
|
-
readonly name: "
|
|
991
|
+
readonly name: "topolo-web-runtime";
|
|
900
992
|
readonly kind: "worker";
|
|
901
993
|
readonly apiUrl: "https://sites.topolo.app";
|
|
902
994
|
readonly domains: readonly ["sites.topolo.app"];
|
|
903
995
|
readonly routes: readonly [];
|
|
904
996
|
readonly serviceId: null;
|
|
905
997
|
}, {
|
|
906
|
-
readonly name: "
|
|
998
|
+
readonly name: "topolo-web-studio";
|
|
907
999
|
readonly kind: "pages";
|
|
908
1000
|
readonly apiUrl: null;
|
|
909
1001
|
readonly domains: readonly ["web.topolo.app"];
|
|
@@ -916,7 +1008,7 @@ type ApplicationId = keyof typeof APPLICATIONS;
|
|
|
916
1008
|
type ApplicationCatalogEntry = (typeof APPLICATIONS)[ApplicationId];
|
|
917
1009
|
type ApplicationDeployTarget = ApplicationCatalogEntry['deployTargets'][number];
|
|
918
1010
|
|
|
919
|
-
declare const APPLICATION_REQUIREMENTS_VERSION = "2026-
|
|
1011
|
+
declare const APPLICATION_REQUIREMENTS_VERSION = "2026-05-01.1";
|
|
920
1012
|
type ApplicationRequirementScope = 'all' | 'browser' | 'api' | 'tooling' | 'agent_surface';
|
|
921
1013
|
interface ApplicationRequirement {
|
|
922
1014
|
id: string;
|
|
@@ -990,8 +1082,8 @@ declare const APPLICATION_REQUIREMENTS: readonly [{
|
|
|
990
1082
|
readonly title: "Use the shared shell, launcher, and account menu";
|
|
991
1083
|
readonly summary: "Browser applications should feel like one platform and should not create isolated navigation or account surfaces.";
|
|
992
1084
|
readonly appliesTo: readonly ["browser"];
|
|
993
|
-
readonly evidence: readonly ["@topolo/ui-kit is used for the platform shell where the app has authenticated UI", "The shared launcher/app switcher is reachable from authenticated app chrome", "Account menu and sign-out behavior use TopoloAppShell or TopoloAccountMenu"];
|
|
994
|
-
readonly implementation: readonly ["Use TopoloAppShell for authenticated app layouts", "Use TopoloAccountMenu when a partial-shell surface still needs account chrome", "Pass app-specific account actions as additive menu items instead of forking dropdowns", "Use shared design tokens and platform UI primitives before creating local equivalents", "Keep mobile and desktop shell behavior aligned with the platform UI kit"];
|
|
1085
|
+
readonly evidence: readonly ["@topolo/ui-kit is used for the platform shell where the app has authenticated UI", "The shared launcher/app switcher is reachable from authenticated app chrome", "Account menu and sign-out behavior use TopoloAppShell or TopoloAccountMenu", "Authenticated app body content stays inside the viewport on mobile and desktop widths"];
|
|
1086
|
+
readonly implementation: readonly ["Use TopoloAppShell for authenticated app layouts", "Use TopoloAccountMenu when a partial-shell surface still needs account chrome", "Pass app-specific account actions as additive menu items instead of forking dropdowns", "Use shared design tokens and platform UI primitives before creating local equivalents", "Keep mobile and desktop shell behavior aligned with the platform UI kit", "Constrain app-owned workspace wrappers with min-width: 0, width: auto, and viewport-aware max-width so shell padding cannot create page-level horizontal overflow"];
|
|
995
1087
|
}, {
|
|
996
1088
|
readonly id: "service-registration-and-scopes";
|
|
997
1089
|
readonly title: "Register protected APIs as platform services";
|