@topolo/sdk 0.10.4 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -231,6 +231,7 @@ interface TopoloActionCatalogEntry {
231
231
  path: string;
232
232
  permissionName: string;
233
233
  requiredPermission: string;
234
+ principalAccess?: 'platform_admin' | 'platform_super_admin' | null;
234
235
  /** Static RBAC, contextual runtime policy, or an explicit public/service exception. */
235
236
  authorizationMode?: 'static' | 'runtime' | 'public' | 'service';
236
237
  allowedServices?: string[];
@@ -457,12 +458,6 @@ declare class TopoloClient {
457
458
  };
458
459
  }): Promise<T>;
459
460
  private executeResolvedAction;
460
- /**
461
- * @deprecated Static fallback snapshot only. Use `searchServices()` (the
462
- * live credential-scoped registry) for anything that decides behavior; this
463
- * exists for offline packaging audits when the registry is unreachable.
464
- */
465
- listBundledServices(): TopoloServiceCatalogEntry[];
466
461
  /**
467
462
  * Introspect the current credential. Returns the caller's resolved identity,
468
463
  * organization, and permission set. Used by CLI `whoami` and by MCP to gate
@@ -501,237 +496,6 @@ interface CredentialIntrospection {
501
496
  } | null;
502
497
  }
503
498
 
504
- /**
505
- * Live application directory — resolve, enumerate, and identify platform
506
- * applications from the credential-scoped live registry.
507
- *
508
- * The platform scales to millions of constantly-changing applications, so no
509
- * compiled application map may gate behavior. The live registry
510
- * (`searchServices` / `getService` on the Catalog service) is the source of
511
- * truth. The bundled static snapshot (`applications-fallback.ts`) is consulted
512
- * ONLY when the registry is unreachable (network failure, no credential), and
513
- * as metadata enrichment for apps the registry already confirmed — it must
514
- * never cause a registry-known application to be rejected.
515
- */
516
-
517
- interface ApplicationDeployTarget {
518
- name: string;
519
- kind: string;
520
- apiUrl: string | null;
521
- domains: readonly string[];
522
- routes: readonly string[];
523
- appId: string | null;
524
- }
525
- interface ApplicationCatalogEntry {
526
- id: string;
527
- appDir: string;
528
- name: string;
529
- packageName: string | null;
530
- productionUrl: string | null;
531
- services: readonly string[];
532
- deployTargets: readonly ApplicationDeployTarget[];
533
- }
534
- /**
535
- * Application ids are open-ended — they come from the live registry, not a
536
- * compiled union. Kept as a named alias for source compatibility.
537
- */
538
- type ApplicationId = string;
539
- /**
540
- * Derive the human-friendly application id from a live catalog entry: the
541
- * canonical slug with the vendor prefix stripped (`topolo-notify` → `notify`).
542
- * Falls back through name and appId (`app_topolo_notify` → `notify`). Never
543
- * consults a static map, so newly registered applications get a friendly id
544
- * without a client rebuild.
545
- */
546
- declare function friendlyAppId(entry: {
547
- appId: string;
548
- slug?: string | null;
549
- name?: string | null;
550
- }): string;
551
- /** Synthesize a catalog entry for an application known only to the live registry. */
552
- declare function applicationEntryFromCatalog(live: TopoloServiceCatalogEntry): ApplicationCatalogEntry;
553
- type ApplicationDirectorySource = 'live' | 'static_fallback';
554
- interface ApplicationDirectoryApplication {
555
- id: string;
556
- application: ApplicationCatalogEntry;
557
- source: 'live' | 'static';
558
- live: TopoloServiceCatalogEntry | null;
559
- }
560
- interface ApplicationDirectory {
561
- source: ApplicationDirectorySource;
562
- applications: ApplicationDirectoryApplication[];
563
- }
564
- /** The subset of TopoloClient the directory helpers need (test-injectable). */
565
- interface ApplicationDirectoryClient {
566
- searchServices(options?: {
567
- query?: string;
568
- cursor?: string;
569
- limit?: number;
570
- }): Promise<{
571
- services: TopoloServiceCatalogEntry[];
572
- page: {
573
- nextCursor: string | null;
574
- };
575
- }>;
576
- getService(application: string): Promise<TopoloServiceCatalogEntry>;
577
- }
578
- /** Static snapshot as a directory — the registry-unreachable fallback. */
579
- declare function staticApplicationDirectory(): ApplicationDirectory;
580
- /**
581
- * Enumerate every application the current credential can see in the live
582
- * registry (walking the continuation cursor to exhaustion). Falls back to the
583
- * bundled static snapshot only when the registry cannot be reached — pass
584
- * `null` as the client to request the fallback explicitly (e.g. no credential
585
- * configured).
586
- */
587
- declare function listApplicationDirectory(client: ApplicationDirectoryClient | null): Promise<ApplicationDirectory>;
588
- declare function formatDirectoryApplicationIds(directory: ApplicationDirectory): string;
589
- /**
590
- * Resolve one application by id, slug, or name against the live registry.
591
- * Registry-known apps always resolve — the static snapshot can only enrich
592
- * them, never reject them. When the registry is reachable and does not know
593
- * the application, the error lists the live ids. When the registry is
594
- * unreachable (or `client` is null), the static snapshot answers instead.
595
- */
596
- declare function resolveApplicationDirectoryEntry(client: ApplicationDirectoryClient | null, application: string): Promise<ApplicationDirectoryApplication>;
597
-
598
- declare const APPLICATION_REQUIREMENTS_VERSION = "2026-08-11.1";
599
- type ApplicationRequirementScope = 'all' | 'browser' | 'api' | 'tooling' | 'agent_surface';
600
- interface ApplicationRequirement {
601
- id: string;
602
- title: string;
603
- summary: string;
604
- appliesTo: readonly ApplicationRequirementScope[];
605
- evidence: readonly string[];
606
- implementation: readonly string[];
607
- }
608
- type ApplicationRequirementStatus = 'met' | 'partial' | 'missing' | 'needs_review';
609
- interface ApplicationRequirementFinding {
610
- requirementId: string;
611
- title: string;
612
- status: ApplicationRequirementStatus;
613
- reason: string;
614
- evidence: readonly string[];
615
- nextActions: readonly string[];
616
- }
617
- interface ApplicationRequirementScore {
618
- met: number;
619
- partial: number;
620
- missing: number;
621
- needsReview: number;
622
- total: number;
623
- percent: number;
624
- }
625
- interface ApplicationRequirementAudit {
626
- version: string;
627
- application: ApplicationCatalogEntry;
628
- scopes: ApplicationRequirementScope[];
629
- score: ApplicationRequirementScore;
630
- findings: ApplicationRequirementFinding[];
631
- }
632
- interface ApplicationRequirementMigrationItem {
633
- applicationId: ApplicationId;
634
- applicationName: string;
635
- requirementId: string;
636
- title: string;
637
- status: Exclude<ApplicationRequirementStatus, 'met'>;
638
- reason: string;
639
- nextActions: readonly string[];
640
- }
641
- interface ApplicationRequirementsAuditReport {
642
- version: string;
643
- applications: ApplicationRequirementAudit[];
644
- migrationQueue: ApplicationRequirementMigrationItem[];
645
- }
646
- declare const APPLICATION_REQUIREMENTS: readonly [{
647
- readonly id: "platform-metadata";
648
- readonly title: "Register the application in platform metadata";
649
- readonly summary: "Every app must have a stable application ID, CloudControl metadata for deployed surfaces, and package metadata where code is shipped.";
650
- readonly appliesTo: readonly ["all"];
651
- readonly evidence: readonly ["topolo.cloudcontrol.json exists for every deployed app surface", "package.json names the package or app when the repo ships code", "The live platform registry exposes the app through topolo apps and MCP discovery"];
652
- readonly implementation: readonly ["Register the app in the live platform registry (Auth service catalog) before exposing it to agents", "Keep production URLs, Worker names, Pages projects, routes, domains, and bindings current in CloudControl metadata", "Do not leave a new Topolo* app directory without an explicit application ID"];
653
- }, {
654
- readonly id: "canonical-docs";
655
- readonly title: "Update canonical docs with the code change";
656
- readonly summary: "TopoloDocs is the source of truth for application behavior, ownership, deployment shape, auth boundaries, and operations.";
657
- readonly appliesTo: readonly ["all"];
658
- readonly evidence: readonly ["Matching system registry entry exists in TopoloDocs", "Internal handbook coverage exists for the system", "npm run validate passes in TopoloDocs when docs are touched"];
659
- readonly implementation: readonly ["Read the matching TopoloDocs system entry before coding", "Update docs in the same change when behavior, API, auth, data ownership, deployment, or operations change", "Update last_verified dates on touched canonical pages"];
660
- }, {
661
- readonly id: "shared-auth-boundary";
662
- readonly title: "Use the shared Topolo auth boundary";
663
- readonly summary: "Applications must derive identity, organization, scopes, and app entitlement from TopoloAuth rather than inventing parallel auth state.";
664
- readonly appliesTo: readonly ["browser", "api", "tooling", "agent_surface"];
665
- readonly evidence: readonly ["@topolo/auth-client or @topolo-io/worker-runtime is used where applicable", "No public command, tool, or SDK method accepts orgId", "App slug and Auth app registration are documented for protected APIs"];
666
- readonly implementation: readonly ["Use shared auth/runtime packages instead of copying token parsing, gateway, or browser storage flows", "Derive organization from the credential on every request", "Route OAuth, refresh, logout, and SSO paths according to the shared Auth contract"];
667
- }, {
668
- readonly id: "shared-shell-and-launcher";
669
- readonly title: "Use the shared shell, launcher, and account menu";
670
- readonly summary: "Browser applications should feel like one platform and should not create isolated navigation or account surfaces.";
671
- readonly appliesTo: readonly ["browser"];
672
- readonly evidence: readonly ["@topolo-io/app-shell is used for the platform shell where the app has authenticated UI", "@topolo-io/app-launcher keeps the shared launcher/app switcher reachable from authenticated app chrome", "Account menu and sign-out behavior use TopoloAppShell or the ui-kit TopoloAccountMenu primitive", "Repeated app body surfaces use shared TopoloAppLayout primitives instead of local stat cards, empty states, or status badges", "Local preview supports deterministic visual QA fixtures for overview, list, detail, settings, and empty/loading states", "Authenticated app body content stays inside the viewport on mobile and desktop widths"];
673
- readonly implementation: readonly ["Use @topolo-io/app-shell TopoloAppShell for authenticated app layouts", "Use the @topolo-io/ui-kit TopoloAccountMenu primitive 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", "Use TopoloAppMetricCard, TopoloAppEmptyState, TopoloAppStatusBadge, TopoloAppGrid, and TopoloAppSection for repeated app body patterns", "Keep visual QA fixtures available through visualQa=1 or __devpreview=1 so screenshot checks do not depend on live API state", "Keep mobile and desktop shell behavior aligned with the platform UI kit", "Constrain the app workspace-view layout wrappers with min-width: 0, width: auto, and viewport-aware max-width so shell padding cannot create page-level horizontal overflow"];
674
- }, {
675
- readonly id: "app-registration-and-scopes";
676
- readonly title: "Register protected APIs as platform apps";
677
- readonly summary: "Callable app APIs need a stable app ID, app slug, permissions, role bundles, and API-key scopes before agents or users rely on them.";
678
- readonly appliesTo: readonly ["api"];
679
- readonly evidence: readonly ["Auth app catalog contains the app ID and slug", "Permissions, role bundles, and API-key scopes exist for the app", "SDK, CLI, and MCP app discovery include the callable production API", "CloudControl production HTTP targets classify agent reachability with sdk_app_id or agent_callable:false"];
680
- readonly implementation: readonly ["Add production Worker api_url metadata and sdk_app_id for every agent-callable API target", "Mark browser, documentation, and runtime-only Worker targets with agent_callable:false", "Expose stable app IDs through live catalog discovery", "Keep typed SDK/CLI/MCP surfaces in sync when an API contract stabilizes"];
681
- }, {
682
- readonly id: "organization-scoped-data";
683
- readonly title: "Keep application data organization-scoped";
684
- readonly summary: "Protected data access must be scoped by the authenticated organization at the backend boundary, not by client-provided hints.";
685
- readonly appliesTo: readonly ["api"];
686
- readonly evidence: readonly ["Backend request handlers derive org membership from credential validation", "Queries and Durable Object keys include the authenticated organization boundary where data is tenant-owned", "MCP and CLI inputs do not include orgId overrides"];
687
- readonly implementation: readonly ["Reject or ignore organization hints supplied by clients", "Bind SQL, KV, R2, queue, and Durable Object access to the authenticated organization", "Document service-local exceptions explicitly in the system security assurance record"];
688
- }, {
689
- readonly id: "cloudflare-deployment-contract";
690
- readonly title: "Keep Cloudflare deployment metadata complete";
691
- readonly summary: "Workers, Pages, bindings, routes, env vars, queues, cron triggers, and deployment commands must be discoverable through CloudControl metadata.";
692
- readonly appliesTo: readonly ["browser", "api"];
693
- readonly evidence: readonly ["topolo.cloudcontrol.json lists production deploy targets and URLs", "Wrangler/Pages configuration matches CloudControl metadata", "Secrets and environment variables are not committed"];
694
- readonly implementation: readonly ["Update CloudControl metadata whenever deployment topology changes", "Prefer Cloudflare-native runtime surfaces for new Topolo app infrastructure", "Keep Worker bindings and Pages domains explicit enough for agents to inspect before deploying"];
695
- }, {
696
- readonly id: "agent-and-operator-surfaces";
697
- readonly title: "Expose agent-safe operations through SDK, CLI, and MCP";
698
- readonly summary: "Agent-accessible functionality should be discoverable, scope-gated, and write-confirmed instead of hidden behind ad hoc HTTP calls.";
699
- readonly appliesTo: readonly ["api", "tooling", "agent_surface"];
700
- readonly evidence: readonly ["Read operations have typed SDK/CLI/MCP surfaces once their contract stabilizes", "Mutating generic calls require --confirm or confirm:true", "MCP tools never accept orgId and advertise only appropriate scope-gated tools"];
701
- readonly implementation: readonly ["Add SDK types first, then CLI commands and MCP tools for durable workflows", "Use generic API passthrough only as a temporary escape hatch", "Keep command output JSON-stable for agents and human-readable with --no-json"];
702
- }, {
703
- readonly id: "native-dashboard-widget";
704
- readonly title: "Expose a native dashboard widget contract";
705
- readonly summary: "Launchable first-party applications must populate TopoloOne live workspace through an app-owned /api/widget endpoint using the SDK widget response contract.";
706
- readonly appliesTo: readonly ["api"];
707
- readonly evidence: readonly ["The app-owned API exposes GET /api/widget", "The endpoint returns TopoloWidgetApiResponse from @topolo/sdk", "Every returned widget includes snapshot.summary with app-owned operational prose", "The endpoint derives organization/user context from the app auth boundary"];
708
- readonly implementation: readonly ["Import createTopoloWidgetResponse from @topolo/sdk in the app backend", "Return native app metrics or action widgets instead of generic launch-card fallbacks", "Populate snapshot.summary in the producing app for every widget instead of synthesizing summaries in TopoloOne", "Add a route-level test that validates the response with validateTopoloWidgetResponse"];
709
- }, {
710
- readonly id: "observability-and-audit";
711
- readonly title: "Emit platform audit and debugging signals";
712
- readonly summary: "Requests, agent actions, and operational workflows need traceable IDs, client labels, and useful failure evidence.";
713
- readonly appliesTo: readonly ["api", "tooling", "agent_surface"];
714
- readonly evidence: readonly ["Requests carry X-Topolo-Client and X-Topolo-Request-Id where the SDK is involved", "Agent-originated calls can include X-Topolo-Agent", "Failure modes are documented with request IDs or deployment/log lookup paths"];
715
- readonly implementation: readonly ["Use TopoloClient for platform API calls rather than raw fetch where practical", "Keep logs free of secrets and tokens", "Document live smoke commands and request-id correlation in canonical docs"];
716
- }, {
717
- readonly id: "verification-gates";
718
- readonly title: "Ship with build, test, docs, and smoke verification";
719
- readonly summary: "A Topolo app change is not complete until the relevant code checks and docs checks have been run or explicitly reported as blocked.";
720
- readonly appliesTo: readonly ["all"];
721
- readonly evidence: readonly ["Relevant package build/typecheck/test commands pass", "TopoloDocs validation passes when docs are touched", "Live or local smoke evidence is captured for user-visible or API behavior"];
722
- readonly implementation: readonly ["Prefer existing package scripts before adding new tooling", "Run app-specific checks and shared docs validation for behavior changes", "Report any skipped verification with the blocker and residual risk"];
723
- }];
724
- declare function applicationRequirementScopes(application: ApplicationCatalogEntry): ApplicationRequirementScope[];
725
- declare function requirementsForApplication(applicationOrId: ApplicationCatalogEntry | ApplicationId): ApplicationRequirement[];
726
- declare function auditApplicationRequirements(applicationOrId: ApplicationCatalogEntry | ApplicationId): ApplicationRequirementAudit;
727
- /**
728
- * Build the full audit report for a set of already-resolved catalog entries.
729
- * Live callers resolve entries through the application directory and pass them
730
- * here; the id-based wrapper below serves only the static-fallback path.
731
- */
732
- declare function auditApplicationEntries(applications: readonly ApplicationCatalogEntry[]): ApplicationRequirementsAuditReport;
733
- declare function auditAllApplicationRequirements(applicationIds?: readonly ApplicationId[]): ApplicationRequirementsAuditReport;
734
-
735
499
  declare function compactActionCatalogEntry(action: TopoloActionCatalogEntry): {
736
500
  actionId: string;
737
501
  title: string;
@@ -840,15 +604,6 @@ declare function compactActionPreparation(preparation: TopoloActionPreparation):
840
604
  declare function compactActionPreparation(preparation: TopoloActionPreparation, context: TopoloAgentExecutionContext): ReturnType<typeof compactActionPreparationCore> & {
841
605
  context: TopoloAgentExecutionContext;
842
606
  };
843
- declare function compactApplicationAudit(report: ApplicationRequirementsAuditReport): {
844
- version: string;
845
- applications: {
846
- applicationId: string;
847
- applicationName: string;
848
- score: ApplicationRequirementScore;
849
- }[];
850
- migrationQueueCount: number;
851
- };
852
607
 
853
608
  declare const ACTION_CATALOG_DIGEST_ALGORITHM: "sha256-v1";
854
609
  interface TopoloActionDigestInput {
@@ -858,6 +613,7 @@ interface TopoloActionDigestInput {
858
613
  path: string;
859
614
  permission?: string | null;
860
615
  permissionName?: string | null;
616
+ principalAccess?: 'platform_admin' | 'platform_super_admin' | null;
861
617
  authorizationMode?: string | null;
862
618
  allowedServices?: string[] | null;
863
619
  target?: string | null;
@@ -922,1218 +678,57 @@ declare const APP_API_URLS: {
922
678
  };
923
679
  type AppApiId = keyof typeof APP_API_URLS;
924
680
 
925
- declare const APPLICATIONS: {
926
- readonly admin: {
927
- readonly id: "admin";
928
- readonly appDir: "TopoloAdmin";
929
- readonly name: "topolo-admin";
930
- readonly packageName: "topolo-admin";
931
- readonly productionUrl: "https://admin.topolo.app";
932
- readonly services: readonly [];
933
- readonly deployTargets: readonly [{
934
- readonly name: "topolo-admin";
935
- readonly kind: "worker";
936
- readonly apiUrl: "https://admin.topolo.app";
937
- readonly domains: readonly ["admin.topolo.app"];
938
- readonly routes: readonly ["admin.topolo.app"];
939
- readonly appId: null;
940
- }, {
941
- readonly name: "topolo-admin-api";
942
- readonly kind: "worker";
943
- readonly apiUrl: null;
944
- readonly domains: readonly [];
945
- readonly routes: readonly [];
946
- readonly appId: null;
947
- }];
948
- };
949
- readonly agent: {
950
- readonly id: "agent";
951
- readonly appDir: "TopoloAgent";
952
- readonly name: "topolo-agent";
953
- readonly packageName: "topolo-agent";
954
- readonly productionUrl: "https://agent.topolo.app";
955
- readonly services: readonly ["agent"];
956
- readonly deployTargets: readonly [{
957
- readonly name: "topolo-agent";
958
- readonly kind: "worker";
959
- readonly apiUrl: "https://agent.topolo.app";
960
- readonly domains: readonly ["agent.topolo.app"];
961
- readonly routes: readonly ["agent.topolo.app"];
962
- readonly appId: "agent";
963
- }, {
964
- readonly name: "topolo-agent-api";
965
- readonly kind: "worker";
966
- readonly apiUrl: null;
967
- readonly domains: readonly [];
968
- readonly routes: readonly [];
969
- readonly appId: null;
970
- }];
971
- };
972
- readonly auth: {
973
- readonly id: "auth";
974
- readonly appDir: "TopoloAuth";
975
- readonly name: "topolo-auth";
976
- readonly packageName: "topolo-auth";
977
- readonly productionUrl: "https://auth.topolo.app";
978
- readonly services: readonly ["auth"];
979
- readonly deployTargets: readonly [{
980
- readonly name: "topolo-auth";
981
- readonly kind: "worker";
982
- readonly apiUrl: "https://auth.topolo.app";
983
- readonly domains: readonly ["auth.topolo.app"];
984
- readonly routes: readonly ["auth.topolo.app"];
985
- readonly appId: "auth";
986
- }];
987
- };
988
- readonly backup: {
989
- readonly id: "backup";
990
- readonly appDir: "TopoloBackup";
991
- readonly name: "topolo-backup";
992
- readonly packageName: "topolo-backup";
993
- readonly productionUrl: "https://backup.topolo.app";
994
- readonly services: readonly ["backup"];
995
- readonly deployTargets: readonly [{
996
- readonly name: "topolo-backup";
997
- readonly kind: "worker";
998
- readonly apiUrl: "https://backup.topolo.app";
999
- readonly domains: readonly ["backup.topolo.app"];
1000
- readonly routes: readonly ["backup.topolo.app"];
1001
- readonly appId: "backup";
1002
- }];
1003
- };
1004
- readonly blog: {
1005
- readonly id: "blog";
1006
- readonly appDir: "TopoloBlog";
1007
- readonly name: "topolo-blog";
1008
- readonly packageName: "topolo-blog";
1009
- readonly productionUrl: "https://blog.topolo.app";
1010
- readonly services: readonly ["blog"];
1011
- readonly deployTargets: readonly [{
1012
- readonly name: "topolo-blog";
1013
- readonly kind: "worker";
1014
- readonly apiUrl: "https://blog.topolo.app";
1015
- readonly domains: readonly ["blog.topolo.app"];
1016
- readonly routes: readonly ["blog.topolo.app"];
1017
- readonly appId: "blog";
1018
- }, {
1019
- readonly name: "topolo-blog-api";
1020
- readonly kind: "worker";
1021
- readonly apiUrl: null;
1022
- readonly domains: readonly [];
1023
- readonly routes: readonly [];
1024
- readonly appId: null;
1025
- }];
1026
- };
1027
- readonly books: {
1028
- readonly id: "books";
1029
- readonly appDir: "TopoloBooks";
1030
- readonly name: "topolo-books";
1031
- readonly packageName: "topolo-books";
1032
- readonly productionUrl: "https://books.topolo.app";
1033
- readonly services: readonly ["books"];
1034
- readonly deployTargets: readonly [{
1035
- readonly name: "topolo-books";
1036
- readonly kind: "worker";
1037
- readonly apiUrl: "https://books.topolo.app";
1038
- readonly domains: readonly ["books.topolo.app"];
1039
- readonly routes: readonly ["books.topolo.app"];
1040
- readonly appId: "books";
1041
- }, {
1042
- readonly name: "topolo-books-api";
1043
- readonly kind: "worker";
1044
- readonly apiUrl: null;
1045
- readonly domains: readonly [];
1046
- readonly routes: readonly [];
1047
- readonly appId: null;
1048
- }];
1049
- };
1050
- readonly brand: {
1051
- readonly id: "brand";
1052
- readonly appDir: "TopoloBrand";
1053
- readonly name: "topolo-brand";
1054
- readonly packageName: "@topolo/topolo-brand";
1055
- readonly productionUrl: "https://brand.topolo.app";
1056
- readonly services: readonly ["brand"];
1057
- readonly deployTargets: readonly [{
1058
- readonly name: "topolo-brand";
1059
- readonly kind: "worker";
1060
- readonly apiUrl: "https://brand.topolo.app";
1061
- readonly domains: readonly ["brand.topolo.app"];
1062
- readonly routes: readonly ["brand.topolo.app"];
1063
- readonly appId: "brand";
1064
- }, {
1065
- readonly name: "topolo-brand-api";
1066
- readonly kind: "worker";
1067
- readonly apiUrl: null;
1068
- readonly domains: readonly [];
1069
- readonly routes: readonly [];
1070
- readonly appId: null;
1071
- }];
1072
- };
1073
- readonly bugfix: {
1074
- readonly id: "bugfix";
1075
- readonly appDir: "TopoloBugFix";
1076
- readonly name: "topolo-bugfix";
1077
- readonly packageName: "topolo-bugfix";
1078
- readonly productionUrl: "https://bugfix.topolo.app";
1079
- readonly services: readonly ["bugfix"];
1080
- readonly deployTargets: readonly [{
1081
- readonly name: "topolo-bugfix";
1082
- readonly kind: "worker";
1083
- readonly apiUrl: "https://bugfix.topolo.app";
1084
- readonly domains: readonly ["bugfix.topolo.app"];
1085
- readonly routes: readonly ["bugfix.topolo.app"];
1086
- readonly appId: "bugfix";
1087
- }];
1088
- };
1089
- readonly bytes: {
1090
- readonly id: "bytes";
1091
- readonly appDir: "TopoloBytes";
1092
- readonly name: "topolo-bytes";
1093
- readonly packageName: "topolo-bytes";
1094
- readonly productionUrl: "https://bytes.topolo.app";
1095
- readonly services: readonly ["bytes"];
1096
- readonly deployTargets: readonly [{
1097
- readonly name: "topolo-bytes";
1098
- readonly kind: "worker";
1099
- readonly apiUrl: "https://bytes.topolo.app";
1100
- readonly domains: readonly ["bytes.topolo.app"];
1101
- readonly routes: readonly ["bytes.topolo.app"];
1102
- readonly appId: "bytes";
1103
- }, {
1104
- readonly name: "topolo-bytes-api";
1105
- readonly kind: "worker";
1106
- readonly apiUrl: null;
1107
- readonly domains: readonly [];
1108
- readonly routes: readonly [];
1109
- readonly appId: null;
1110
- }];
1111
- };
1112
- readonly calendar: {
1113
- readonly id: "calendar";
1114
- readonly appDir: "TopoloCalendar";
1115
- readonly name: "topolo-calendar";
1116
- readonly packageName: "topolo-calendar";
1117
- readonly productionUrl: "https://calendar.topolo.app";
1118
- readonly services: readonly ["calendar"];
1119
- readonly deployTargets: readonly [{
1120
- readonly name: "topolo-calendar";
1121
- readonly kind: "worker";
1122
- readonly apiUrl: "https://calendar.topolo.app";
1123
- readonly domains: readonly ["calendar.topolo.app"];
1124
- readonly routes: readonly ["calendar.topolo.app"];
1125
- readonly appId: "calendar";
1126
- }, {
1127
- readonly name: "topolo-calendar-api";
1128
- readonly kind: "worker";
1129
- readonly apiUrl: null;
1130
- readonly domains: readonly [];
1131
- readonly routes: readonly [];
1132
- readonly appId: null;
1133
- }];
1134
- };
1135
- readonly campaigns: {
1136
- readonly id: "campaigns";
1137
- readonly appDir: "TopoloCampaigns";
1138
- readonly name: "topolo-campaigns";
1139
- readonly packageName: "topolo-campaigns";
1140
- readonly productionUrl: "https://campaigns.topolo.app";
1141
- readonly services: readonly ["campaigns"];
1142
- readonly deployTargets: readonly [{
1143
- readonly name: "topolo-campaigns";
1144
- readonly kind: "worker";
1145
- readonly apiUrl: "https://campaigns.topolo.app";
1146
- readonly domains: readonly ["campaigns.topolo.app"];
1147
- readonly routes: readonly ["campaigns.topolo.app"];
1148
- readonly appId: "campaigns";
1149
- }, {
1150
- readonly name: "topolo-campaigns-api";
1151
- readonly kind: "worker";
1152
- readonly apiUrl: null;
1153
- readonly domains: readonly [];
1154
- readonly routes: readonly [];
1155
- readonly appId: null;
1156
- }];
1157
- };
1158
- readonly capacity: {
1159
- readonly id: "capacity";
1160
- readonly appDir: "TopoloCapacity";
1161
- readonly name: "topolo-capacity";
1162
- readonly packageName: "topolo-capacity";
1163
- readonly productionUrl: "https://capacity.topolo.app";
1164
- readonly services: readonly ["capacity"];
1165
- readonly deployTargets: readonly [{
1166
- readonly name: "topolo-capacity";
1167
- readonly kind: "worker";
1168
- readonly apiUrl: "https://capacity.topolo.app";
1169
- readonly domains: readonly ["capacity.topolo.app"];
1170
- readonly routes: readonly ["capacity.topolo.app"];
1171
- readonly appId: "capacity";
1172
- }];
1173
- };
1174
- readonly chat: {
1175
- readonly id: "chat";
1176
- readonly appDir: "TopoloChat";
1177
- readonly name: "topolo-chat";
1178
- readonly packageName: "topolo-chat";
1179
- readonly productionUrl: "https://chat.topolo.app";
1180
- readonly services: readonly ["chat"];
1181
- readonly deployTargets: readonly [{
1182
- readonly name: "topolo-chat";
1183
- readonly kind: "worker";
1184
- readonly apiUrl: "https://chat.topolo.app";
1185
- readonly domains: readonly ["chat.topolo.app"];
1186
- readonly routes: readonly ["chat.topolo.app"];
1187
- readonly appId: "chat";
1188
- }, {
1189
- readonly name: "topolo-chat-api";
1190
- readonly kind: "worker";
1191
- readonly apiUrl: null;
1192
- readonly domains: readonly [];
1193
- readonly routes: readonly [];
1194
- readonly appId: null;
1195
- }];
1196
- };
1197
- readonly commerce: {
1198
- readonly id: "commerce";
1199
- readonly appDir: "TopoloCommerce";
1200
- readonly name: "topolo-commerce";
1201
- readonly packageName: "topolo-commerce";
1202
- readonly productionUrl: "https://commerce.topolo.app";
1203
- readonly services: readonly ["commerce"];
1204
- readonly deployTargets: readonly [{
1205
- readonly name: "topolo-commerce-api";
1206
- readonly kind: "worker";
1207
- readonly apiUrl: null;
1208
- readonly domains: readonly [];
1209
- readonly routes: readonly [];
1210
- readonly appId: null;
1211
- }, {
1212
- readonly name: "topolo-commerce-guest-web";
1213
- readonly kind: "worker";
1214
- readonly apiUrl: "https://guest.topolo.app";
1215
- readonly domains: readonly ["guest.topolo.app"];
1216
- readonly routes: readonly ["guest.topolo.app"];
1217
- readonly appId: null;
1218
- }, {
1219
- readonly name: "topolo-commerce-ops-web";
1220
- readonly kind: "worker";
1221
- readonly apiUrl: "https://commerce.topolo.app";
1222
- readonly domains: readonly ["commerce.topolo.app"];
1223
- readonly routes: readonly ["commerce.topolo.app"];
1224
- readonly appId: "commerce";
1225
- }, {
1226
- readonly name: "topolo-commerce-station-web";
1227
- readonly kind: "worker";
1228
- readonly apiUrl: "https://station-commerce.topolo.app";
1229
- readonly domains: readonly ["station-commerce.topolo.app"];
1230
- readonly routes: readonly ["station-commerce.topolo.app"];
1231
- readonly appId: null;
1232
- }];
1233
- };
1234
- readonly compose: {
1235
- readonly id: "compose";
1236
- readonly appDir: "TopoloCompose";
1237
- readonly name: "topolo-compose";
1238
- readonly packageName: "@topolo/compose";
1239
- readonly productionUrl: "https://compose.topolo.app";
1240
- readonly services: readonly ["compose"];
1241
- readonly deployTargets: readonly [{
1242
- readonly name: "topolo-compose";
1243
- readonly kind: "worker";
1244
- readonly apiUrl: "https://compose.topolo.app";
1245
- readonly domains: readonly ["compose.topolo.app"];
1246
- readonly routes: readonly ["compose.topolo.app"];
1247
- readonly appId: "compose";
1248
- }, {
1249
- readonly name: "topolo-compose-api";
1250
- readonly kind: "worker";
1251
- readonly apiUrl: null;
1252
- readonly domains: readonly [];
1253
- readonly routes: readonly [];
1254
- readonly appId: null;
1255
- }];
1256
- };
1257
- readonly consent: {
1258
- readonly id: "consent";
1259
- readonly appDir: "TopoloConsent";
1260
- readonly name: "topolo-consent";
1261
- readonly packageName: "topolo-consent";
1262
- readonly productionUrl: "https://consent.topolo.app";
1263
- readonly services: readonly ["consent"];
1264
- readonly deployTargets: readonly [{
1265
- readonly name: "topolo-consent";
1266
- readonly kind: "worker";
1267
- readonly apiUrl: "https://consent.topolo.app";
1268
- readonly domains: readonly ["consent.topolo.app"];
1269
- readonly routes: readonly ["consent.topolo.app"];
1270
- readonly appId: "consent";
1271
- }, {
1272
- readonly name: "topolo-consent-api";
1273
- readonly kind: "worker";
1274
- readonly apiUrl: null;
1275
- readonly domains: readonly [];
1276
- readonly routes: readonly [];
1277
- readonly appId: null;
1278
- }];
1279
- };
1280
- readonly crm: {
1281
- readonly id: "crm";
1282
- readonly appDir: "TopoloCRM";
1283
- readonly name: "topolo-crm";
1284
- readonly packageName: "topolo-crm";
1285
- readonly productionUrl: "https://crm.topolo.app";
1286
- readonly services: readonly ["crm"];
1287
- readonly deployTargets: readonly [{
1288
- readonly name: "topolo-crm-api";
1289
- readonly kind: "worker";
1290
- readonly apiUrl: null;
1291
- readonly domains: readonly [];
1292
- readonly routes: readonly [];
1293
- readonly appId: null;
1294
- }, {
1295
- readonly name: "topolo-crm-app";
1296
- readonly kind: "worker";
1297
- readonly apiUrl: "https://crm.topolo.app";
1298
- readonly domains: readonly ["crm.topolo.app"];
1299
- readonly routes: readonly ["crm.topolo.app"];
1300
- readonly appId: "crm";
1301
- }];
1302
- };
1303
- readonly design: {
1304
- readonly id: "design";
1305
- readonly appDir: "TopoloDesign";
1306
- readonly name: "topolo-design";
1307
- readonly packageName: "@topolo-io/design";
1308
- readonly productionUrl: "https://design.topolo.app";
1309
- readonly services: readonly ["design"];
1310
- readonly deployTargets: readonly [{
1311
- readonly name: "topolo-design";
1312
- readonly kind: "worker";
1313
- readonly apiUrl: "https://design.topolo.app";
1314
- readonly domains: readonly ["design.topolo.app"];
1315
- readonly routes: readonly ["design.topolo.app"];
1316
- readonly appId: "design";
1317
- }, {
1318
- readonly name: "topolo-design-api";
1319
- readonly kind: "worker";
1320
- readonly apiUrl: null;
1321
- readonly domains: readonly [];
1322
- readonly routes: readonly [];
1323
- readonly appId: null;
1324
- }];
1325
- };
1326
- readonly developers: {
1327
- readonly id: "developers";
1328
- readonly appDir: "TopoloDevelopers";
1329
- readonly name: "topolo-developers";
1330
- readonly packageName: "topolo-developers";
1331
- readonly productionUrl: "https://developers.topolo.app";
1332
- readonly services: readonly ["developers"];
1333
- readonly deployTargets: readonly [{
1334
- readonly name: "topolo-catalog-cron";
1335
- readonly kind: "worker";
1336
- readonly apiUrl: null;
1337
- readonly domains: readonly [];
1338
- readonly routes: readonly [];
1339
- readonly appId: null;
1340
- }, {
1341
- readonly name: "topolo-developers";
1342
- readonly kind: "worker";
1343
- readonly apiUrl: "https://developers.topolo.app";
1344
- readonly domains: readonly ["developers.topolo.app"];
1345
- readonly routes: readonly ["developers.topolo.app"];
1346
- readonly appId: "developers";
1347
- }, {
1348
- readonly name: "topolo-developers-api";
1349
- readonly kind: "worker";
1350
- readonly apiUrl: null;
1351
- readonly domains: readonly [];
1352
- readonly routes: readonly [];
1353
- readonly appId: null;
1354
- }];
1355
- };
1356
- readonly director: {
1357
- readonly id: "director";
1358
- readonly appDir: "TopoloDirector";
1359
- readonly name: "topolo-director";
1360
- readonly packageName: "topolo-director";
1361
- readonly productionUrl: "https://director.topolo.app";
1362
- readonly services: readonly ["director"];
1363
- readonly deployTargets: readonly [{
1364
- readonly name: "topolo-director";
1365
- readonly kind: "worker";
1366
- readonly apiUrl: "https://director.topolo.app";
1367
- readonly domains: readonly ["director.topolo.app"];
1368
- readonly routes: readonly ["director.topolo.app"];
1369
- readonly appId: "director";
1370
- }, {
1371
- readonly name: "topolo-director-api";
1372
- readonly kind: "worker";
1373
- readonly apiUrl: null;
1374
- readonly domains: readonly [];
1375
- readonly routes: readonly [];
1376
- readonly appId: null;
1377
- }];
1378
- };
1379
- readonly docs: {
1380
- readonly id: "docs";
1381
- readonly appDir: "TopoloDocs";
1382
- readonly name: "topolo-docs";
1383
- readonly packageName: "topolo-docs";
1384
- readonly productionUrl: "https://docs.topolo.app";
1385
- readonly services: readonly [];
1386
- readonly deployTargets: readonly [{
1387
- readonly name: "topolo-docs";
1388
- readonly kind: "worker";
1389
- readonly apiUrl: "https://docs.topolo.app";
1390
- readonly domains: readonly ["docs.topolo.app"];
1391
- readonly routes: readonly ["docs.topolo.app"];
1392
- readonly appId: null;
1393
- }, {
1394
- readonly name: "topolo-docs-api";
1395
- readonly kind: "worker";
1396
- readonly apiUrl: null;
1397
- readonly domains: readonly [];
1398
- readonly routes: readonly [];
1399
- readonly appId: null;
1400
- }];
1401
- };
1402
- readonly feed: {
1403
- readonly id: "feed";
1404
- readonly appDir: "TopoloFeed";
1405
- readonly name: "TopoloFeed";
1406
- readonly packageName: "topolo-feed";
1407
- readonly productionUrl: "https://feed.topolo.app";
1408
- readonly services: readonly ["feed"];
1409
- readonly deployTargets: readonly [{
1410
- readonly name: "topolo-feed-analytics-api";
1411
- readonly kind: "worker";
1412
- readonly apiUrl: "https://feed-analytics-api.topolo.app";
1413
- readonly domains: readonly ["feed-analytics-api.topolo.app"];
1414
- readonly routes: readonly ["feed-analytics-api.topolo.app"];
1415
- readonly appId: null;
1416
- }, {
1417
- readonly name: "topolo-feed-api";
1418
- readonly kind: "worker";
1419
- readonly apiUrl: "https://feed-api.topolo.app";
1420
- readonly domains: readonly ["feed-api.topolo.app"];
1421
- readonly routes: readonly ["feed-api.topolo.app"];
1422
- readonly appId: null;
1423
- }, {
1424
- readonly name: "topolo-feed-web";
1425
- readonly kind: "worker";
1426
- readonly apiUrl: "https://feed.topolo.app";
1427
- readonly domains: readonly ["feed.topolo.app"];
1428
- readonly routes: readonly ["feed.topolo.app"];
1429
- readonly appId: "feed";
1430
- }];
1431
- };
1432
- readonly flow: {
1433
- readonly id: "flow";
1434
- readonly appDir: "TopoloFlow";
1435
- readonly name: "topolo-flow";
1436
- readonly packageName: "topolo-flow";
1437
- readonly productionUrl: "https://flow.topolo.app";
1438
- readonly services: readonly ["flow"];
1439
- readonly deployTargets: readonly [{
1440
- readonly name: "topolo-flow";
1441
- readonly kind: "worker";
1442
- readonly apiUrl: "https://flow.topolo.app";
1443
- readonly domains: readonly ["flow.topolo.app"];
1444
- readonly routes: readonly ["flow.topolo.app"];
1445
- readonly appId: "flow";
1446
- }, {
1447
- readonly name: "topolo-flow-api";
1448
- readonly kind: "worker";
1449
- readonly apiUrl: null;
1450
- readonly domains: readonly [];
1451
- readonly routes: readonly [];
1452
- readonly appId: null;
1453
- }];
1454
- };
1455
- readonly forecast: {
1456
- readonly id: "forecast";
1457
- readonly appDir: "TopoloForecast";
1458
- readonly name: "topolo-forecast";
1459
- readonly packageName: "topolo-forecast";
1460
- readonly productionUrl: "https://forecast.topolo.app";
1461
- readonly services: readonly ["forecast"];
1462
- readonly deployTargets: readonly [{
1463
- readonly name: "topolo-forecast";
1464
- readonly kind: "worker";
1465
- readonly apiUrl: "https://forecast.topolo.app";
1466
- readonly domains: readonly ["forecast.topolo.app"];
1467
- readonly routes: readonly ["forecast.topolo.app"];
1468
- readonly appId: "forecast";
1469
- }, {
1470
- readonly name: "topolo-forecast-api";
1471
- readonly kind: "worker";
1472
- readonly apiUrl: null;
1473
- readonly domains: readonly [];
1474
- readonly routes: readonly [];
1475
- readonly appId: null;
1476
- }];
1477
- };
1478
- readonly forms: {
1479
- readonly id: "forms";
1480
- readonly appDir: "TopoloForms";
1481
- readonly name: "topolo-forms";
1482
- readonly packageName: "topolo-forms";
1483
- readonly productionUrl: "https://forms.topolo.app";
1484
- readonly services: readonly ["forms"];
1485
- readonly deployTargets: readonly [{
1486
- readonly name: "topolo-forms";
1487
- readonly kind: "worker";
1488
- readonly apiUrl: "https://forms.topolo.app";
1489
- readonly domains: readonly ["forms.topolo.app"];
1490
- readonly routes: readonly ["forms.topolo.app"];
1491
- readonly appId: "forms";
1492
- }, {
1493
- readonly name: "topolo-forms-api";
1494
- readonly kind: "worker";
1495
- readonly apiUrl: null;
1496
- readonly domains: readonly [];
1497
- readonly routes: readonly [];
1498
- readonly appId: null;
1499
- }];
1500
- };
1501
- readonly home: {
1502
- readonly id: "home";
1503
- readonly appDir: "TopoloHome";
1504
- readonly name: "topolo-home";
1505
- readonly packageName: "topolo-home";
1506
- readonly productionUrl: "https://home.topolo.app";
1507
- readonly services: readonly ["home"];
1508
- readonly deployTargets: readonly [{
1509
- readonly name: "topolo-home";
1510
- readonly kind: "worker";
1511
- readonly apiUrl: "https://home.topolo.app";
1512
- readonly domains: readonly ["home.topolo.app"];
1513
- readonly routes: readonly ["home.topolo.app"];
1514
- readonly appId: "home";
1515
- }, {
1516
- readonly name: "topolo-home-api";
1517
- readonly kind: "worker";
1518
- readonly apiUrl: null;
1519
- readonly domains: readonly [];
1520
- readonly routes: readonly [];
1521
- readonly appId: null;
1522
- }];
1523
- };
1524
- readonly insights: {
1525
- readonly id: "insights";
1526
- readonly appDir: "TopoloInsights";
1527
- readonly name: "topolo-insights";
1528
- readonly packageName: "topolo-insights";
1529
- readonly productionUrl: "https://insights.topolo.app";
1530
- readonly services: readonly ["insights"];
1531
- readonly deployTargets: readonly [{
1532
- readonly name: "topolo-insights";
1533
- readonly kind: "worker";
1534
- readonly apiUrl: "https://insights.topolo.app";
1535
- readonly domains: readonly ["insights.topolo.app"];
1536
- readonly routes: readonly ["insights.topolo.app"];
1537
- readonly appId: "insights";
1538
- }, {
1539
- readonly name: "topolo-insights-api";
1540
- readonly kind: "worker";
1541
- readonly apiUrl: null;
1542
- readonly domains: readonly [];
1543
- readonly routes: readonly [];
1544
- readonly appId: null;
1545
- }];
1546
- };
1547
- readonly inventory: {
1548
- readonly id: "inventory";
1549
- readonly appDir: "TopoloInventory";
1550
- readonly name: "topolo-inventory";
1551
- readonly packageName: "topolo-inventory";
1552
- readonly productionUrl: "https://inventory.topolo.app";
1553
- readonly services: readonly ["inventory"];
1554
- readonly deployTargets: readonly [{
1555
- readonly name: "topolo-inventory";
1556
- readonly kind: "worker";
1557
- readonly apiUrl: "https://inventory.topolo.app";
1558
- readonly domains: readonly ["inventory.topolo.app"];
1559
- readonly routes: readonly ["inventory.topolo.app"];
1560
- readonly appId: "inventory";
1561
- }, {
1562
- readonly name: "topolo-inventory-api";
1563
- readonly kind: "worker";
1564
- readonly apiUrl: null;
1565
- readonly domains: readonly [];
1566
- readonly routes: readonly [];
1567
- readonly appId: null;
1568
- }];
1569
- };
1570
- readonly learn: {
1571
- readonly id: "learn";
1572
- readonly appDir: "TopoloLearn";
1573
- readonly name: "topololearn";
1574
- readonly packageName: "topolo-learn";
1575
- readonly productionUrl: "https://learn.topolo.app";
1576
- readonly services: readonly ["learn"];
1577
- readonly deployTargets: readonly [{
1578
- readonly name: "topolo-learn";
1579
- readonly kind: "worker";
1580
- readonly apiUrl: "https://learn.topolo.app";
1581
- readonly domains: readonly ["learn.topolo.app"];
1582
- readonly routes: readonly ["learn.topolo.app"];
1583
- readonly appId: "learn";
1584
- }, {
1585
- readonly name: "topolo-learn-api";
1586
- readonly kind: "worker";
1587
- readonly apiUrl: null;
1588
- readonly domains: readonly [];
1589
- readonly routes: readonly [];
1590
- readonly appId: null;
1591
- }];
1592
- };
1593
- readonly localize: {
1594
- readonly id: "localize";
1595
- readonly appDir: "TopoloLocalize";
1596
- readonly name: "topolo-localize";
1597
- readonly packageName: "topolo-localize";
1598
- readonly productionUrl: "https://localize.topolo.app";
1599
- readonly services: readonly ["localize"];
1600
- readonly deployTargets: readonly [{
1601
- readonly name: "topolo-localize";
1602
- readonly kind: "worker";
1603
- readonly apiUrl: "https://localize.topolo.app";
1604
- readonly domains: readonly ["localize.topolo.app"];
1605
- readonly routes: readonly ["localize.topolo.app"];
1606
- readonly appId: "localize";
1607
- }];
1608
- };
1609
- readonly mail: {
1610
- readonly id: "mail";
1611
- readonly appDir: "TopoloMail";
1612
- readonly name: "topolo-mail";
1613
- readonly packageName: "topolo-mail";
1614
- readonly productionUrl: "https://mail.topolo.app";
1615
- readonly services: readonly ["mail"];
1616
- readonly deployTargets: readonly [{
1617
- readonly name: "topolo-mail";
1618
- readonly kind: "worker";
1619
- readonly apiUrl: "https://mail.topolo.app";
1620
- readonly domains: readonly ["mail.topolo.app"];
1621
- readonly routes: readonly ["mail.topolo.app"];
1622
- readonly appId: "mail";
1623
- }, {
1624
- readonly name: "topolo-mail-api";
1625
- readonly kind: "worker";
1626
- readonly apiUrl: null;
1627
- readonly domains: readonly [];
1628
- readonly routes: readonly [];
1629
- readonly appId: null;
1630
- }];
1631
- };
1632
- readonly mdm: {
1633
- readonly id: "mdm";
1634
- readonly appDir: "TopoloMDM";
1635
- readonly name: "TopoloMDM";
1636
- readonly packageName: "topolo-mdm";
1637
- readonly productionUrl: "https://mdm.topolo.app";
1638
- readonly services: readonly ["mdm"];
1639
- readonly deployTargets: readonly [{
1640
- readonly name: "topolo-mdm-api";
1641
- readonly kind: "worker";
1642
- readonly apiUrl: null;
1643
- readonly domains: readonly [];
1644
- readonly routes: readonly [];
1645
- readonly appId: null;
1646
- }, {
1647
- readonly name: "topolo-mdm-console";
1648
- readonly kind: "worker";
1649
- readonly apiUrl: "https://mdm.topolo.app";
1650
- readonly domains: readonly ["mdm.topolo.app"];
1651
- readonly routes: readonly ["mdm.topolo.app"];
1652
- readonly appId: "mdm";
1653
- }];
1654
- };
1655
- readonly messages: {
1656
- readonly id: "messages";
1657
- readonly appDir: "TopoloMessages";
1658
- readonly name: "topolo-messages";
1659
- readonly packageName: "topolo-messages";
1660
- readonly productionUrl: "https://messages.topolo.app";
1661
- readonly services: readonly ["messages"];
1662
- readonly deployTargets: readonly [{
1663
- readonly name: "topolo-messages";
1664
- readonly kind: "worker";
1665
- readonly apiUrl: "https://messages.topolo.app";
1666
- readonly domains: readonly ["messages.topolo.app"];
1667
- readonly routes: readonly ["messages.topolo.app"];
1668
- readonly appId: "messages";
1669
- }, {
1670
- readonly name: "topolo-messages-api";
1671
- readonly kind: "worker";
1672
- readonly apiUrl: null;
1673
- readonly domains: readonly [];
1674
- readonly routes: readonly [];
1675
- readonly appId: null;
1676
- }, {
1677
- readonly name: "topolo-messages-dispatch";
1678
- readonly kind: "worker";
1679
- readonly apiUrl: null;
1680
- readonly domains: readonly [];
1681
- readonly routes: readonly [];
1682
- readonly appId: null;
1683
- }];
1684
- };
1685
- readonly nexus: {
1686
- readonly id: "nexus";
1687
- readonly appDir: "TopoloNexus";
1688
- readonly name: "topolo-nexus";
1689
- readonly packageName: "topolo-nexus";
1690
- readonly productionUrl: "https://nexus.topolo.app";
1691
- readonly services: readonly ["nexus"];
1692
- readonly deployTargets: readonly [{
1693
- readonly name: "topolo-nexus-dashboard";
1694
- readonly kind: "worker";
1695
- readonly apiUrl: "https://nexus.topolo.app";
1696
- readonly domains: readonly ["nexus.topolo.app"];
1697
- readonly routes: readonly ["nexus.topolo.app"];
1698
- readonly appId: null;
1699
- }, {
1700
- readonly name: "topolo-nexus-gateway";
1701
- readonly kind: "worker";
1702
- readonly apiUrl: "https://nexus.topolo.app";
1703
- readonly domains: readonly ["nexus.topolo.app"];
1704
- readonly routes: readonly [];
1705
- readonly appId: "nexus";
1706
- }];
1707
- };
1708
- readonly notify: {
1709
- readonly id: "notify";
1710
- readonly appDir: "TopoloNotify";
1711
- readonly name: "topolo-notify";
1712
- readonly packageName: "@topolo/notify";
1713
- readonly productionUrl: "https://notify.topolo.app";
1714
- readonly services: readonly ["notify"];
1715
- readonly deployTargets: readonly [{
1716
- readonly name: "topolo-notify";
1717
- readonly kind: "worker";
1718
- readonly apiUrl: "https://notify.topolo.app";
1719
- readonly domains: readonly ["notify.topolo.app"];
1720
- readonly routes: readonly ["notify.topolo.app"];
1721
- readonly appId: "notify";
1722
- }];
1723
- };
1724
- readonly observability_watch: {
1725
- readonly id: "observability_watch";
1726
- readonly appDir: "TopoloObservabilityWatch";
1727
- readonly name: "topolo-observability-watch";
1728
- readonly packageName: "topolo-observability-watch";
1729
- readonly productionUrl: "https://observability-watch.topolo.app";
1730
- readonly services: readonly ["observability_watch"];
1731
- readonly deployTargets: readonly [{
1732
- readonly name: "topolo-observability-watch";
1733
- readonly kind: "worker";
1734
- readonly apiUrl: "https://observability-watch.topolo.app";
1735
- readonly domains: readonly ["observability-watch.topolo.app"];
1736
- readonly routes: readonly ["observability-watch.topolo.app"];
1737
- readonly appId: "observability_watch";
1738
- }];
1739
- };
1740
- readonly one: {
1741
- readonly id: "one";
1742
- readonly appDir: "TopoloOne";
1743
- readonly name: "TopoloOne";
1744
- readonly packageName: "topolo-oneclick-sso";
1745
- readonly productionUrl: "https://one.topolo.app";
1746
- readonly services: readonly ["one"];
1747
- readonly deployTargets: readonly [{
1748
- readonly name: "topolo-one";
1749
- readonly kind: "worker";
1750
- readonly apiUrl: "https://one.topolo.app";
1751
- readonly domains: readonly ["one.topolo.app"];
1752
- readonly routes: readonly ["one.topolo.app/*"];
1753
- readonly appId: null;
1754
- }, {
1755
- readonly name: "topolo-one-api";
1756
- readonly kind: "worker";
1757
- readonly apiUrl: "https://www.topolo.app";
1758
- readonly domains: readonly ["www.topolo.app"];
1759
- readonly routes: readonly ["www.topolo.app/*"];
1760
- readonly appId: "one";
1761
- }, {
1762
- readonly name: "topolo-one-website";
1763
- readonly kind: "worker";
1764
- readonly apiUrl: "https://topolo.io";
1765
- readonly domains: readonly ["topolo.io"];
1766
- readonly routes: readonly ["one.topolo.io", "topolo.io", "www.topolo.io"];
1767
- readonly appId: null;
1768
- }];
1769
- };
1770
- readonly p2p: {
1771
- readonly id: "p2p";
1772
- readonly appDir: "TopoloP2P";
1773
- readonly name: "topolo-p2p";
1774
- readonly packageName: "topolo-p2p";
1775
- readonly productionUrl: "https://p2p.topolo.app";
1776
- readonly services: readonly ["p2p"];
1777
- readonly deployTargets: readonly [{
1778
- readonly name: "topolo-p2p";
1779
- readonly kind: "worker";
1780
- readonly apiUrl: "https://p2p.topolo.app";
1781
- readonly domains: readonly ["p2p.topolo.app"];
1782
- readonly routes: readonly ["p2p.topolo.app"];
1783
- readonly appId: "p2p";
1784
- }, {
1785
- readonly name: "topolo-p2p-api";
1786
- readonly kind: "worker";
1787
- readonly apiUrl: null;
1788
- readonly domains: readonly [];
1789
- readonly routes: readonly [];
1790
- readonly appId: null;
1791
- }];
1792
- };
1793
- readonly pay: {
1794
- readonly id: "pay";
1795
- readonly appDir: "TopoloPay";
1796
- readonly name: "topolo-pay";
1797
- readonly packageName: "topolo-pay";
1798
- readonly productionUrl: "https://pay.topolo.app";
1799
- readonly services: readonly ["pay"];
1800
- readonly deployTargets: readonly [{
1801
- readonly name: "topolo-pay";
1802
- readonly kind: "worker";
1803
- readonly apiUrl: "https://pay.topolo.app";
1804
- readonly domains: readonly ["pay.topolo.app"];
1805
- readonly routes: readonly ["pay.topolo.app"];
1806
- readonly appId: "pay";
1807
- }, {
1808
- readonly name: "topolo-pay-api";
1809
- readonly kind: "worker";
1810
- readonly apiUrl: null;
1811
- readonly domains: readonly [];
1812
- readonly routes: readonly [];
1813
- readonly appId: null;
1814
- }];
1815
- };
1816
- readonly people: {
1817
- readonly id: "people";
1818
- readonly appDir: "TopoloPeople";
1819
- readonly name: "topolo-people";
1820
- readonly packageName: "topolo-people";
1821
- readonly productionUrl: "https://people.topolo.app";
1822
- readonly services: readonly ["people"];
1823
- readonly deployTargets: readonly [{
1824
- readonly name: "topolo-people";
1825
- readonly kind: "worker";
1826
- readonly apiUrl: "https://people.topolo.app";
1827
- readonly domains: readonly ["people.topolo.app"];
1828
- readonly routes: readonly ["people.topolo.app"];
1829
- readonly appId: "people";
1830
- }, {
1831
- readonly name: "topolo-people-api";
1832
- readonly kind: "worker";
1833
- readonly apiUrl: null;
1834
- readonly domains: readonly [];
1835
- readonly routes: readonly [];
1836
- readonly appId: null;
1837
- }];
1838
- };
1839
- readonly quro: {
1840
- readonly id: "quro";
1841
- readonly appDir: "TopoloQuro";
1842
- readonly name: "TopoloQuro";
1843
- readonly packageName: "topolo-quro";
1844
- readonly productionUrl: "https://quro.topolo.app";
1845
- readonly services: readonly ["quro.api", "quro.redirect"];
1846
- readonly deployTargets: readonly [{
1847
- readonly name: "quro-api";
1848
- readonly kind: "worker";
1849
- readonly apiUrl: "https://api.ol0.me";
1850
- readonly domains: readonly ["api.ol0.me"];
1851
- readonly routes: readonly ["api.ol0.me/*"];
1852
- readonly appId: "quro.api";
1853
- }, {
1854
- readonly name: "quro-redirect-system";
1855
- readonly kind: "worker";
1856
- readonly apiUrl: "https://ol0.me";
1857
- readonly domains: readonly ["ol0.me"];
1858
- readonly routes: readonly ["ol0.me/*"];
1859
- readonly appId: "quro.redirect";
1860
- }, {
1861
- readonly name: "quro-ui";
1862
- readonly kind: "worker";
1863
- readonly apiUrl: "https://quro.topolo.app";
1864
- readonly domains: readonly ["quro.topolo.app"];
1865
- readonly routes: readonly ["quro.topolo.app"];
1866
- readonly appId: null;
1867
- }];
1868
- };
1869
- readonly roadmapper: {
1870
- readonly id: "roadmapper";
1871
- readonly appDir: "TopoloRoadmapper";
1872
- readonly name: "topolo-roadmapper";
1873
- readonly packageName: "topolo-roadmapper";
1874
- readonly productionUrl: "https://roadmapper.topolo.app";
1875
- readonly services: readonly ["roadmapper"];
1876
- readonly deployTargets: readonly [{
1877
- readonly name: "topolo-roadmapper";
1878
- readonly kind: "worker";
1879
- readonly apiUrl: "https://roadmapper.topolo.app";
1880
- readonly domains: readonly ["roadmapper.topolo.app"];
1881
- readonly routes: readonly ["roadmapper.topolo.app"];
1882
- readonly appId: "roadmapper";
1883
- }, {
1884
- readonly name: "topolo-roadmapper-api";
1885
- readonly kind: "worker";
1886
- readonly apiUrl: null;
1887
- readonly domains: readonly [];
1888
- readonly routes: readonly [];
1889
- readonly appId: null;
1890
- }];
1891
- };
1892
- readonly sign: {
1893
- readonly id: "sign";
1894
- readonly appDir: "TopoloSign";
1895
- readonly name: "topolo-sign";
1896
- readonly packageName: "topolo-sign";
1897
- readonly productionUrl: "https://sign.topolo.app";
1898
- readonly services: readonly ["sign"];
1899
- readonly deployTargets: readonly [{
1900
- readonly name: "topolo-sign";
1901
- readonly kind: "worker";
1902
- readonly apiUrl: "https://sign.topolo.app";
1903
- readonly domains: readonly ["sign.topolo.app"];
1904
- readonly routes: readonly ["sign.topolo.app"];
1905
- readonly appId: "sign";
1906
- }, {
1907
- readonly name: "topolo-sign-api";
1908
- readonly kind: "worker";
1909
- readonly apiUrl: null;
1910
- readonly domains: readonly [];
1911
- readonly routes: readonly [];
1912
- readonly appId: null;
1913
- }];
1914
- };
1915
- readonly social_studio: {
1916
- readonly id: "social_studio";
1917
- readonly appDir: "TopoloSocialStudio";
1918
- readonly name: "topolo-social-studio";
1919
- readonly packageName: "topolo-social-studio";
1920
- readonly productionUrl: "https://studio.topolo.app";
1921
- readonly services: readonly ["social_studio"];
1922
- readonly deployTargets: readonly [{
1923
- readonly name: "topolo-social-studio";
1924
- readonly kind: "worker";
1925
- readonly apiUrl: "https://studio.topolo.app";
1926
- readonly domains: readonly ["studio.topolo.app"];
1927
- readonly routes: readonly ["studio.topolo.app"];
1928
- readonly appId: "social_studio";
1929
- }, {
1930
- readonly name: "topolo-social-studio-api";
1931
- readonly kind: "worker";
1932
- readonly apiUrl: null;
1933
- readonly domains: readonly [];
1934
- readonly routes: readonly [];
1935
- readonly appId: null;
1936
- }, {
1937
- readonly name: "topolo-social-studio-queue";
1938
- readonly kind: "worker";
1939
- readonly apiUrl: null;
1940
- readonly domains: readonly [];
1941
- readonly routes: readonly [];
1942
- readonly appId: null;
1943
- }];
1944
- };
1945
- readonly socialize: {
1946
- readonly id: "socialize";
1947
- readonly appDir: "TopoloSocialize";
1948
- readonly name: "socialize";
1949
- readonly packageName: "topolo-socialize";
1950
- readonly productionUrl: "https://socialize.topolo.app";
1951
- readonly services: readonly ["socialize"];
1952
- readonly deployTargets: readonly [{
1953
- readonly name: "topolo-socialize";
1954
- readonly kind: "worker";
1955
- readonly apiUrl: "https://socialize.topolo.app";
1956
- readonly domains: readonly ["socialize.topolo.app"];
1957
- readonly routes: readonly ["socialize.topolo.app"];
1958
- readonly appId: "socialize";
1959
- }, {
1960
- readonly name: "topolo-socialize-api";
1961
- readonly kind: "worker";
1962
- readonly apiUrl: "https://socialize-api.topolo.app";
1963
- readonly domains: readonly ["socialize-api.topolo.app"];
1964
- readonly routes: readonly ["socialize-api.topolo.app"];
1965
- readonly appId: null;
1966
- }, {
1967
- readonly name: "topolo-socialize-scheduler";
1968
- readonly kind: "worker";
1969
- readonly apiUrl: null;
1970
- readonly domains: readonly [];
1971
- readonly routes: readonly [];
1972
- readonly appId: null;
1973
- }];
1974
- };
1975
- readonly spaces: {
1976
- readonly id: "spaces";
1977
- readonly appDir: "TopoloSpaces";
1978
- readonly name: "topolo-spaces";
1979
- readonly packageName: "@topolo/spaces";
1980
- readonly productionUrl: "https://spaces.topolo.app";
1981
- readonly services: readonly ["spaces"];
1982
- readonly deployTargets: readonly [{
1983
- readonly name: "topolo-spaces";
1984
- readonly kind: "worker";
1985
- readonly apiUrl: "https://spaces.topolo.app";
1986
- readonly domains: readonly ["spaces.topolo.app"];
1987
- readonly routes: readonly ["spaces.topolo.app"];
1988
- readonly appId: "spaces";
1989
- }, {
1990
- readonly name: "topolo-spaces-api";
1991
- readonly kind: "worker";
1992
- readonly apiUrl: null;
1993
- readonly domains: readonly [];
1994
- readonly routes: readonly [];
1995
- readonly appId: null;
1996
- }];
1997
- };
1998
- readonly status: {
1999
- readonly id: "status";
2000
- readonly appDir: "TopoloStatus";
2001
- readonly name: "topolo-status";
2002
- readonly packageName: "topolo-status";
2003
- readonly productionUrl: "https://status.topolo.app";
2004
- readonly services: readonly ["status"];
2005
- readonly deployTargets: readonly [{
2006
- readonly name: "topolo-status";
2007
- readonly kind: "worker";
2008
- readonly apiUrl: "https://status.topolo.app";
2009
- readonly domains: readonly ["status.topolo.app"];
2010
- readonly routes: readonly ["status.topolo.app"];
2011
- readonly appId: "status";
2012
- }];
2013
- };
2014
- readonly success: {
2015
- readonly id: "success";
2016
- readonly appDir: "TopoloSuccess";
2017
- readonly name: "topolo-success";
2018
- readonly packageName: "topolo-success";
2019
- readonly productionUrl: "https://success.topolo.app";
2020
- readonly services: readonly ["success"];
2021
- readonly deployTargets: readonly [{
2022
- readonly name: "topolo-success";
2023
- readonly kind: "worker";
2024
- readonly apiUrl: "https://success.topolo.app";
2025
- readonly domains: readonly ["success.topolo.app"];
2026
- readonly routes: readonly ["success.topolo.app"];
2027
- readonly appId: "success";
2028
- }, {
2029
- readonly name: "topolo-success-api";
2030
- readonly kind: "worker";
2031
- readonly apiUrl: null;
2032
- readonly domains: readonly [];
2033
- readonly routes: readonly [];
2034
- readonly appId: null;
2035
- }];
2036
- };
2037
- readonly support: {
2038
- readonly id: "support";
2039
- readonly appDir: "TopoloSupport";
2040
- readonly name: "topolo-support";
2041
- readonly packageName: "topolo-support";
2042
- readonly productionUrl: "https://support.topolo.app";
2043
- readonly services: readonly ["support"];
2044
- readonly deployTargets: readonly [{
2045
- readonly name: "topolo-support";
2046
- readonly kind: "worker";
2047
- readonly apiUrl: "https://support.topolo.app";
2048
- readonly domains: readonly ["support.topolo.app"];
2049
- readonly routes: readonly ["support.topolo.app/*"];
2050
- readonly appId: "support";
2051
- }, {
2052
- readonly name: "topolo-support-api";
2053
- readonly kind: "worker";
2054
- readonly apiUrl: null;
2055
- readonly domains: readonly [];
2056
- readonly routes: readonly [];
2057
- readonly appId: null;
2058
- }];
2059
- };
2060
- readonly survey: {
2061
- readonly id: "survey";
2062
- readonly appDir: "TopoloSurvey";
2063
- readonly name: "topolo-survey";
2064
- readonly packageName: "topolo-survey";
2065
- readonly productionUrl: "https://survey.topolo.app";
2066
- readonly services: readonly ["survey"];
2067
- readonly deployTargets: readonly [{
2068
- readonly name: "topolo-survey";
2069
- readonly kind: "worker";
2070
- readonly apiUrl: "https://survey.topolo.app";
2071
- readonly domains: readonly ["survey.topolo.app"];
2072
- readonly routes: readonly ["survey.topolo.app"];
2073
- readonly appId: "survey";
2074
- }, {
2075
- readonly name: "topolo-survey-api";
2076
- readonly kind: "worker";
2077
- readonly apiUrl: null;
2078
- readonly domains: readonly [];
2079
- readonly routes: readonly [];
2080
- readonly appId: null;
2081
- }];
2082
- };
2083
- readonly voice: {
2084
- readonly id: "voice";
2085
- readonly appDir: "TopoloVoice";
2086
- readonly name: "topolo-voice";
2087
- readonly packageName: "topolo-voice";
2088
- readonly productionUrl: "https://voice.topolo.app";
2089
- readonly services: readonly ["voice"];
2090
- readonly deployTargets: readonly [{
2091
- readonly name: "topolo-voice";
2092
- readonly kind: "worker";
2093
- readonly apiUrl: "https://voice.topolo.app";
2094
- readonly domains: readonly ["voice.topolo.app"];
2095
- readonly routes: readonly ["voice.topolo.app"];
2096
- readonly appId: "voice";
2097
- }, {
2098
- readonly name: "topolo-voice-api";
2099
- readonly kind: "worker";
2100
- readonly apiUrl: null;
2101
- readonly domains: readonly [];
2102
- readonly routes: readonly [];
2103
- readonly appId: null;
2104
- }];
2105
- };
2106
- readonly web: {
2107
- readonly id: "web";
2108
- readonly appDir: "TopoloWeb";
2109
- readonly name: "topoloweb";
2110
- readonly packageName: "topolo-web";
2111
- readonly productionUrl: "https://web.topolo.app";
2112
- readonly services: readonly ["web"];
2113
- readonly deployTargets: readonly [{
2114
- readonly name: "topolo-web-api";
2115
- readonly kind: "worker";
2116
- readonly apiUrl: null;
2117
- readonly domains: readonly [];
2118
- readonly routes: readonly [];
2119
- readonly appId: null;
2120
- }, {
2121
- readonly name: "topolo-web-runtime";
2122
- readonly kind: "worker";
2123
- readonly apiUrl: "https://sites.topolo.app";
2124
- readonly domains: readonly ["sites.topolo.app"];
2125
- readonly routes: readonly ["*.sites.topolo.app/*", "sites.topolo.app"];
2126
- readonly appId: null;
2127
- }, {
2128
- readonly name: "topolo-web-studio";
2129
- readonly kind: "worker";
2130
- readonly apiUrl: "https://web.topolo.app";
2131
- readonly domains: readonly ["web.topolo.app"];
2132
- readonly routes: readonly ["web.topolo.app"];
2133
- readonly appId: "web";
2134
- }];
2135
- };
2136
- };
681
+ interface ApplicationDeployTarget {
682
+ name: string;
683
+ kind: string;
684
+ apiUrl: string | null;
685
+ domains: readonly string[];
686
+ routes: readonly string[];
687
+ appId: string | null;
688
+ }
689
+ interface ApplicationCatalogEntry {
690
+ id: string;
691
+ appDir: string;
692
+ name: string;
693
+ packageName: string | null;
694
+ productionUrl: string | null;
695
+ services: readonly string[];
696
+ deployTargets: readonly ApplicationDeployTarget[];
697
+ }
698
+ type ApplicationId = string;
699
+ declare function friendlyAppId(entry: {
700
+ appId: string;
701
+ slug?: string | null;
702
+ name?: string | null;
703
+ }): string;
704
+ declare function applicationEntryFromCatalog(live: TopoloServiceCatalogEntry): ApplicationCatalogEntry;
705
+ type ApplicationDirectorySource = 'live';
706
+ interface ApplicationDirectoryApplication {
707
+ id: string;
708
+ application: ApplicationCatalogEntry;
709
+ source: 'live';
710
+ live: TopoloServiceCatalogEntry;
711
+ }
712
+ interface ApplicationDirectory {
713
+ source: ApplicationDirectorySource;
714
+ applications: ApplicationDirectoryApplication[];
715
+ }
716
+ interface ApplicationDirectoryClient {
717
+ searchServices(options?: {
718
+ query?: string;
719
+ cursor?: string;
720
+ limit?: number;
721
+ }): Promise<{
722
+ services: TopoloServiceCatalogEntry[];
723
+ page: {
724
+ nextCursor: string | null;
725
+ };
726
+ }>;
727
+ getService(application: string): Promise<TopoloServiceCatalogEntry>;
728
+ }
729
+ declare function listApplicationDirectory(client: ApplicationDirectoryClient | null): Promise<ApplicationDirectory>;
730
+ declare function formatDirectoryApplicationIds(directory: ApplicationDirectory): string;
731
+ declare function resolveApplicationDirectoryEntry(client: ApplicationDirectoryClient | null, application: string): Promise<ApplicationDirectoryApplication>;
2137
732
 
2138
733
  /**
2139
734
  * Service URL resolution.
@@ -2779,4 +1374,4 @@ declare function createTopolo(options: TopoloClientOptions): {
2779
1374
  };
2780
1375
  type Topolo = ReturnType<typeof createTopolo>;
2781
1376
 
2782
- export { ACTION_CATALOG_DIGEST_ALGORITHM, APPLICATIONS, APPLICATION_REQUIREMENTS, APPLICATION_REQUIREMENTS_VERSION, type ActionContractManifest, type ActionContractSource, type AgentIdentity, type AppApiId, type ApplicationCatalogEntry, type ApplicationDeployTarget, type ApplicationDirectory, type ApplicationDirectoryApplication, type ApplicationDirectoryClient, type ApplicationDirectorySource, type ApplicationId, type ApplicationRequirement, type ApplicationRequirementAudit, type ApplicationRequirementFinding, type ApplicationRequirementMigrationItem, type ApplicationRequirementScope, type ApplicationRequirementScore, type ApplicationRequirementStatus, type ApplicationRequirementsAuditReport, type CredentialIntrospection, type CrmContactSummary, CrmModule, DEFAULT_APP_URLS, type DeviceAuthorizationResponse, IdentityModule, type ListContactsOptions, type ListContactsResult, type OAuthHelperOptions, type P2PActionDetail, type P2PActionRequestInput, type P2PActionRequestResult, type P2PActionRow, type P2PActionRun, type P2PCapability, type P2PConnection, type P2PHold, type P2PLedgerEntry, P2PModule, type P2PPolicy, type P2PPricingModel, type P2PSettlementBatch, type P2PSettlementGroup, type PublishCapabilityInput, type RequestOptions, type ServiceCatalogUrlEntry, TOPOLO_ENVIRONMENT_SERVICE_URLS, TOPOLO_RUNTIME_ENVIRONMENTS, TOPOLO_WIDGET_ENDPOINT, TOPOLO_WIDGET_REFRESH_INTERVAL_MS, type TokenResponse, type Topolo, type TopoloActionAgentContract, type TopoloActionCatalogEntry, type TopoloActionCatalogSummary, type TopoloActionDigestInput, type TopoloActionPlan, type TopoloActionPreparation, type TopoloActionUploadOptions, type TopoloActionValidationIssue, type TopoloActionValidationResult, type TopoloAgentExecutionContext, type TopoloApiKeyResourceMetadata, TopoloAuthError, type TopoloBindableResource, type TopoloBindableResourceCatalog, type TopoloChartWidget, TopoloClient, type TopoloClientOptions, TopoloConfirmationRequiredError, type TopoloCredential, type TopoloDebugEvent, TopoloHttpError, type TopoloInlineBase64UploadContract, type TopoloNotificationsWidget, TopoloOAuth, TopoloPermissionError, type TopoloQuickActionsWidget, type TopoloRecentActivityWidget, type TopoloRuntimeEnvironment, TopoloSdkError, type TopoloServiceCatalogEntry, type TopoloStatsWidget, type TopoloWidget, type TopoloWidgetActionItem, type TopoloWidgetActivityItem, type TopoloWidgetApiResponse, type TopoloWidgetBase, type TopoloWidgetConfig, type TopoloWidgetDraft, type TopoloWidgetMetric, type TopoloWidgetNotificationItem, type TopoloWidgetResponseOptions, type TopoloWidgetSnapshotMetadata, type TopoloWidgetSnapshotMetric, type TopoloWidgetType, type TopoloWidgetValidationResult, type TopoloWorkspace, type TopoloWorkspaceListResult, type TopoloWorkspaceMutationResult, type TopoloWorkspacePolicy, WorkspacesModule, actionContractCompleteness, applicationEntryFromCatalog, applicationRequirementScopes, assertTopoloServiceUrlEnvironment, auditAllApplicationRequirements, auditApplicationEntries, auditApplicationRequirements, canonicalTopoloErrorCode, canonicalTopoloRequestId, canonicalTopoloRequired, canonicalTopoloRetryAfter, compactActionCatalogEntry, compactActionPlan, compactActionPreparation, compactActionValidation, compactApplicationAudit, createTopolo, createTopoloAgentExecutionContext, createTopoloWidgetError, createTopoloWidgetResponse, defineTopoloChartWidget, defineTopoloNotificationsWidget, defineTopoloQuickActionsWidget, defineTopoloRecentActivityWidget, defineTopoloStatsWidget, digestTopoloActionCatalog, enrichActionContract, extractTopoloServiceErrorCode, extractTopoloServiceErrorDetails, formatDirectoryApplicationIds, friendlyAppId, listApplicationDirectory, parseTopoloActionUploadContract, prepareTopoloActionBase64UploadInput, prepareTopoloActionUploadInput, publicTopoloErrorMessage, requirementsForApplication, resolveApplicationDirectoryEntry, resolveCatalogServiceUrl, resolveServiceUrl, staticApplicationDirectory, topoloErrorHint, topoloServiceOrigins, validateTopoloActionInput, validateTopoloWidgetResponse };
1377
+ export { ACTION_CATALOG_DIGEST_ALGORITHM, type ActionContractManifest, type ActionContractSource, type AgentIdentity, type AppApiId, type ApplicationCatalogEntry, type ApplicationDeployTarget, type ApplicationDirectory, type ApplicationDirectoryApplication, type ApplicationDirectoryClient, type ApplicationDirectorySource, type ApplicationId, type CredentialIntrospection, type CrmContactSummary, CrmModule, DEFAULT_APP_URLS, type DeviceAuthorizationResponse, IdentityModule, type ListContactsOptions, type ListContactsResult, type OAuthHelperOptions, type P2PActionDetail, type P2PActionRequestInput, type P2PActionRequestResult, type P2PActionRow, type P2PActionRun, type P2PCapability, type P2PConnection, type P2PHold, type P2PLedgerEntry, P2PModule, type P2PPolicy, type P2PPricingModel, type P2PSettlementBatch, type P2PSettlementGroup, type PublishCapabilityInput, type RequestOptions, type ServiceCatalogUrlEntry, TOPOLO_ENVIRONMENT_SERVICE_URLS, TOPOLO_RUNTIME_ENVIRONMENTS, TOPOLO_WIDGET_ENDPOINT, TOPOLO_WIDGET_REFRESH_INTERVAL_MS, type TokenResponse, type Topolo, type TopoloActionAgentContract, type TopoloActionCatalogEntry, type TopoloActionCatalogSummary, type TopoloActionDigestInput, type TopoloActionPlan, type TopoloActionPreparation, type TopoloActionUploadOptions, type TopoloActionValidationIssue, type TopoloActionValidationResult, type TopoloAgentExecutionContext, type TopoloApiKeyResourceMetadata, TopoloAuthError, type TopoloBindableResource, type TopoloBindableResourceCatalog, type TopoloChartWidget, TopoloClient, type TopoloClientOptions, TopoloConfirmationRequiredError, type TopoloCredential, type TopoloDebugEvent, TopoloHttpError, type TopoloInlineBase64UploadContract, type TopoloNotificationsWidget, TopoloOAuth, TopoloPermissionError, type TopoloQuickActionsWidget, type TopoloRecentActivityWidget, type TopoloRuntimeEnvironment, TopoloSdkError, type TopoloServiceCatalogEntry, type TopoloStatsWidget, type TopoloWidget, type TopoloWidgetActionItem, type TopoloWidgetActivityItem, type TopoloWidgetApiResponse, type TopoloWidgetBase, type TopoloWidgetConfig, type TopoloWidgetDraft, type TopoloWidgetMetric, type TopoloWidgetNotificationItem, type TopoloWidgetResponseOptions, type TopoloWidgetSnapshotMetadata, type TopoloWidgetSnapshotMetric, type TopoloWidgetType, type TopoloWidgetValidationResult, type TopoloWorkspace, type TopoloWorkspaceListResult, type TopoloWorkspaceMutationResult, type TopoloWorkspacePolicy, WorkspacesModule, actionContractCompleteness, applicationEntryFromCatalog, assertTopoloServiceUrlEnvironment, canonicalTopoloErrorCode, canonicalTopoloRequestId, canonicalTopoloRequired, canonicalTopoloRetryAfter, compactActionCatalogEntry, compactActionPlan, compactActionPreparation, compactActionValidation, createTopolo, createTopoloAgentExecutionContext, createTopoloWidgetError, createTopoloWidgetResponse, defineTopoloChartWidget, defineTopoloNotificationsWidget, defineTopoloQuickActionsWidget, defineTopoloRecentActivityWidget, defineTopoloStatsWidget, digestTopoloActionCatalog, enrichActionContract, extractTopoloServiceErrorCode, extractTopoloServiceErrorDetails, formatDirectoryApplicationIds, friendlyAppId, listApplicationDirectory, parseTopoloActionUploadContract, prepareTopoloActionBase64UploadInput, prepareTopoloActionUploadInput, publicTopoloErrorMessage, resolveApplicationDirectoryEntry, resolveCatalogServiceUrl, resolveServiceUrl, topoloErrorHint, topoloServiceOrigins, validateTopoloActionInput, validateTopoloWidgetResponse };