@elizaos/shared 2.0.0-alpha.144

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.
Files changed (186) hide show
  1. package/LICENSE +21 -0
  2. package/awareness/index.d.ts +2 -0
  3. package/awareness/index.d.ts.map +1 -0
  4. package/awareness/index.js +2 -0
  5. package/awareness/index.js.map +1 -0
  6. package/awareness/registry.d.ts +27 -0
  7. package/awareness/registry.d.ts.map +1 -0
  8. package/awareness/registry.js +162 -0
  9. package/awareness/registry.js.map +1 -0
  10. package/config/types.agent-defaults.d.ts +333 -0
  11. package/config/types.agent-defaults.d.ts.map +1 -0
  12. package/config/types.agent-defaults.js +2 -0
  13. package/config/types.agent-defaults.js.map +1 -0
  14. package/config/types.agents.d.ts +112 -0
  15. package/config/types.agents.d.ts.map +1 -0
  16. package/config/types.agents.js +2 -0
  17. package/config/types.agents.js.map +1 -0
  18. package/config/types.d.ts +8 -0
  19. package/config/types.d.ts.map +1 -0
  20. package/config/types.eliza.d.ts +648 -0
  21. package/config/types.eliza.d.ts.map +1 -0
  22. package/config/types.eliza.js +2 -0
  23. package/config/types.eliza.js.map +1 -0
  24. package/config/types.gateway.d.ts +216 -0
  25. package/config/types.gateway.d.ts.map +1 -0
  26. package/config/types.gateway.js +2 -0
  27. package/config/types.gateway.js.map +1 -0
  28. package/config/types.hooks.d.ts +107 -0
  29. package/config/types.hooks.d.ts.map +1 -0
  30. package/config/types.hooks.js +2 -0
  31. package/config/types.hooks.js.map +1 -0
  32. package/config/types.js +8 -0
  33. package/config/types.js.map +1 -0
  34. package/config/types.messages.d.ts +176 -0
  35. package/config/types.messages.d.ts.map +1 -0
  36. package/config/types.messages.js +2 -0
  37. package/config/types.messages.js.map +1 -0
  38. package/config/types.tools.d.ts +400 -0
  39. package/config/types.tools.d.ts.map +1 -0
  40. package/config/types.tools.js +2 -0
  41. package/config/types.tools.js.map +1 -0
  42. package/connectors.d.ts +13 -0
  43. package/connectors.d.ts.map +1 -0
  44. package/connectors.js +92 -0
  45. package/connectors.js.map +1 -0
  46. package/contracts/apps.d.ts +204 -0
  47. package/contracts/apps.d.ts.map +1 -0
  48. package/contracts/apps.js +189 -0
  49. package/contracts/apps.js.map +1 -0
  50. package/contracts/awareness.d.ts +38 -0
  51. package/contracts/awareness.d.ts.map +1 -0
  52. package/contracts/awareness.js +8 -0
  53. package/contracts/awareness.js.map +1 -0
  54. package/contracts/cloud-topology.d.ts +13 -0
  55. package/contracts/cloud-topology.d.ts.map +1 -0
  56. package/contracts/cloud-topology.js +74 -0
  57. package/contracts/cloud-topology.js.map +1 -0
  58. package/contracts/config.d.ts +146 -0
  59. package/contracts/config.d.ts.map +1 -0
  60. package/contracts/config.js +5 -0
  61. package/contracts/config.js.map +1 -0
  62. package/contracts/content-pack.d.ts +131 -0
  63. package/contracts/content-pack.d.ts.map +1 -0
  64. package/contracts/content-pack.js +103 -0
  65. package/contracts/content-pack.js.map +1 -0
  66. package/contracts/drop.d.ts +20 -0
  67. package/contracts/drop.d.ts.map +1 -0
  68. package/contracts/drop.js +5 -0
  69. package/contracts/drop.js.map +1 -0
  70. package/contracts/index.d.ts +13 -0
  71. package/contracts/index.d.ts.map +1 -0
  72. package/contracts/index.js +13 -0
  73. package/contracts/index.js.map +1 -0
  74. package/contracts/lifeops.d.ts +1337 -0
  75. package/contracts/lifeops.d.ts.map +1 -0
  76. package/contracts/lifeops.js +279 -0
  77. package/contracts/lifeops.js.map +1 -0
  78. package/contracts/onboarding.d.ts +443 -0
  79. package/contracts/onboarding.d.ts.map +1 -0
  80. package/contracts/onboarding.js +1021 -0
  81. package/contracts/onboarding.js.map +1 -0
  82. package/contracts/permissions.d.ts +38 -0
  83. package/contracts/permissions.d.ts.map +1 -0
  84. package/contracts/permissions.js +5 -0
  85. package/contracts/permissions.js.map +1 -0
  86. package/contracts/service-routing.d.ts +77 -0
  87. package/contracts/service-routing.d.ts.map +1 -0
  88. package/contracts/service-routing.js +228 -0
  89. package/contracts/service-routing.js.map +1 -0
  90. package/contracts/theme.d.ts +136 -0
  91. package/contracts/theme.d.ts.map +1 -0
  92. package/contracts/theme.js +134 -0
  93. package/contracts/theme.js.map +1 -0
  94. package/contracts/verification.d.ts +9 -0
  95. package/contracts/verification.d.ts.map +1 -0
  96. package/contracts/verification.js +5 -0
  97. package/contracts/verification.js.map +1 -0
  98. package/contracts/wallet.d.ts +626 -0
  99. package/contracts/wallet.d.ts.map +1 -0
  100. package/contracts/wallet.js +61 -0
  101. package/contracts/wallet.js.map +1 -0
  102. package/dev-settings-banner-style.d.ts +14 -0
  103. package/dev-settings-banner-style.d.ts.map +1 -0
  104. package/dev-settings-banner-style.js +58 -0
  105. package/dev-settings-banner-style.js.map +1 -0
  106. package/dev-settings-figlet-heading.d.ts +22 -0
  107. package/dev-settings-figlet-heading.d.ts.map +1 -0
  108. package/dev-settings-figlet-heading.js +56 -0
  109. package/dev-settings-figlet-heading.js.map +1 -0
  110. package/dev-settings-table.d.ts +47 -0
  111. package/dev-settings-table.d.ts.map +1 -0
  112. package/dev-settings-table.js +189 -0
  113. package/dev-settings-table.js.map +1 -0
  114. package/eliza-core-roles.d.ts +70 -0
  115. package/eliza-core-roles.d.ts.map +1 -0
  116. package/eliza-core-roles.js +546 -0
  117. package/eliza-core-roles.js.map +1 -0
  118. package/env-utils.d.ts +5 -0
  119. package/env-utils.d.ts.map +1 -0
  120. package/env-utils.impl.d.ts +2 -0
  121. package/env-utils.impl.d.ts.map +1 -0
  122. package/env-utils.impl.js +17 -0
  123. package/env-utils.impl.js.map +1 -0
  124. package/env-utils.js +5 -0
  125. package/env-utils.js.map +1 -0
  126. package/i18n/generated/validation-keyword-data.d.ts +1030 -0
  127. package/i18n/generated/validation-keyword-data.d.ts.map +1 -0
  128. package/i18n/generated/validation-keyword-data.js +1034 -0
  129. package/i18n/generated/validation-keyword-data.js.map +1 -0
  130. package/i18n/keyword-matching.d.ts +23 -0
  131. package/i18n/keyword-matching.d.ts.map +1 -0
  132. package/i18n/keyword-matching.js +113 -0
  133. package/i18n/keyword-matching.js.map +1 -0
  134. package/i18n/validation-keywords.d.ts +13 -0
  135. package/i18n/validation-keywords.d.ts.map +1 -0
  136. package/i18n/validation-keywords.js +13 -0
  137. package/i18n/validation-keywords.js.map +1 -0
  138. package/index.d.ts +13 -0
  139. package/index.d.ts.map +1 -0
  140. package/index.js +13 -0
  141. package/index.js.map +1 -0
  142. package/onboarding-presets.characters.d.ts +22 -0
  143. package/onboarding-presets.characters.d.ts.map +1 -0
  144. package/onboarding-presets.characters.js +2607 -0
  145. package/onboarding-presets.characters.js.map +1 -0
  146. package/onboarding-presets.d.ts +40 -0
  147. package/onboarding-presets.d.ts.map +1 -0
  148. package/onboarding-presets.js +177 -0
  149. package/onboarding-presets.js.map +1 -0
  150. package/onboarding-presets.shared.d.ts +2 -0
  151. package/onboarding-presets.shared.d.ts.map +1 -0
  152. package/onboarding-presets.shared.js +8 -0
  153. package/onboarding-presets.shared.js.map +1 -0
  154. package/package.json +173 -0
  155. package/restart.d.ts +27 -0
  156. package/restart.d.ts.map +1 -0
  157. package/restart.js +29 -0
  158. package/restart.js.map +1 -0
  159. package/runtime-env.d.ts +82 -0
  160. package/runtime-env.d.ts.map +1 -0
  161. package/runtime-env.js +243 -0
  162. package/runtime-env.js.map +1 -0
  163. package/settings-debug.d.ts +20 -0
  164. package/settings-debug.d.ts.map +1 -0
  165. package/settings-debug.js +117 -0
  166. package/settings-debug.js.map +1 -0
  167. package/spoken-text.d.ts +2 -0
  168. package/spoken-text.d.ts.map +1 -0
  169. package/spoken-text.js +57 -0
  170. package/spoken-text.js.map +1 -0
  171. package/themes/index.d.ts +7 -0
  172. package/themes/index.d.ts.map +1 -0
  173. package/themes/index.js +6 -0
  174. package/themes/index.js.map +1 -0
  175. package/themes/presets.d.ts +15 -0
  176. package/themes/presets.d.ts.map +1 -0
  177. package/themes/presets.js +789 -0
  178. package/themes/presets.js.map +1 -0
  179. package/types.d.ts +27 -0
  180. package/types.d.ts.map +1 -0
  181. package/types.js +2 -0
  182. package/types.js.map +1 -0
  183. package/validation-keywords.d.ts +2 -0
  184. package/validation-keywords.d.ts.map +1 -0
  185. package/validation-keywords.js +2 -0
  186. package/validation-keywords.js.map +1 -0
@@ -0,0 +1,204 @@
1
+ /**
2
+ * Shared app manager contracts.
3
+ */
4
+ export type AppSessionMode = "viewer" | "spectate-and-steer" | "external";
5
+ export type AppSessionFeature = "commands" | "telemetry" | "pause" | "resume" | "suggestions";
6
+ export type AppSessionControlAction = "pause" | "resume";
7
+ export type AppRunViewerAttachment = "attached" | "detached" | "unavailable";
8
+ export type AppRunHealthState = "healthy" | "degraded" | "offline";
9
+ export type AppRunCapabilityAvailability = "available" | "unavailable" | "unknown";
10
+ export type AppRunEventKind = "launch" | "refresh" | "attach" | "detach" | "stop" | "status" | "summary" | "health";
11
+ export type AppRunEventSeverity = "info" | "warning" | "error";
12
+ export type AppSessionJsonValue = string | number | boolean | null | AppSessionJsonValue[] | {
13
+ [key: string]: AppSessionJsonValue;
14
+ };
15
+ export interface AppViewerAuthMessage {
16
+ type: string;
17
+ authToken?: string;
18
+ characterId?: string;
19
+ sessionToken?: string;
20
+ agentId?: string;
21
+ followEntity?: string;
22
+ }
23
+ export interface AppSessionRecommendation {
24
+ id: string;
25
+ label: string;
26
+ type?: string;
27
+ reason?: string | null;
28
+ priority?: number | null;
29
+ command?: string | null;
30
+ }
31
+ export interface AppSessionActivityItem {
32
+ id: string;
33
+ type: string;
34
+ message: string;
35
+ timestamp?: number | null;
36
+ severity?: "info" | "warning" | "error";
37
+ }
38
+ export interface AppViewerConfig {
39
+ url: string;
40
+ embedParams?: Record<string, string>;
41
+ postMessageAuth?: boolean;
42
+ sandbox?: string;
43
+ authMessage?: AppViewerAuthMessage;
44
+ }
45
+ export interface AppSessionConfig {
46
+ mode: AppSessionMode;
47
+ features?: AppSessionFeature[];
48
+ }
49
+ export interface AppSessionState {
50
+ sessionId: string;
51
+ appName: string;
52
+ mode: AppSessionMode;
53
+ status: string;
54
+ displayName?: string;
55
+ agentId?: string;
56
+ characterId?: string;
57
+ followEntity?: string;
58
+ canSendCommands?: boolean;
59
+ controls?: AppSessionControlAction[];
60
+ summary?: string | null;
61
+ goalLabel?: string | null;
62
+ suggestedPrompts?: string[];
63
+ recommendations?: AppSessionRecommendation[];
64
+ activity?: AppSessionActivityItem[];
65
+ telemetry?: Record<string, AppSessionJsonValue> | null;
66
+ }
67
+ export interface AppSessionActionResult {
68
+ success: boolean;
69
+ message: string;
70
+ session?: AppSessionState | null;
71
+ }
72
+ export interface AppRunHealth {
73
+ state: AppRunHealthState;
74
+ message: string | null;
75
+ }
76
+ export interface AppRunHealthFacet {
77
+ state: AppRunHealthState | "unknown";
78
+ message: string | null;
79
+ }
80
+ export interface AppRunHealthDetails {
81
+ checkedAt: string | null;
82
+ auth: AppRunHealthFacet;
83
+ runtime: AppRunHealthFacet;
84
+ viewer: AppRunHealthFacet;
85
+ chat: AppRunHealthFacet;
86
+ control: AppRunHealthFacet;
87
+ message: string | null;
88
+ }
89
+ export interface AppRunEvent {
90
+ eventId: string;
91
+ kind: AppRunEventKind;
92
+ severity: AppRunEventSeverity;
93
+ message: string;
94
+ createdAt: string;
95
+ status?: string | null;
96
+ details?: Record<string, AppSessionJsonValue> | null;
97
+ }
98
+ export interface AppRunAwaySummary {
99
+ generatedAt: string;
100
+ message: string;
101
+ eventCount: number;
102
+ since: string | null;
103
+ until: string | null;
104
+ }
105
+ export interface AppRunSummary {
106
+ runId: string;
107
+ appName: string;
108
+ displayName: string;
109
+ pluginName: string;
110
+ launchType: string;
111
+ launchUrl: string | null;
112
+ viewer: AppViewerConfig | null;
113
+ session: AppSessionState | null;
114
+ characterId: string | null;
115
+ agentId: string | null;
116
+ status: string;
117
+ summary: string | null;
118
+ startedAt: string;
119
+ updatedAt: string;
120
+ lastHeartbeatAt: string | null;
121
+ supportsBackground: boolean;
122
+ supportsViewerDetach: boolean;
123
+ chatAvailability: AppRunCapabilityAvailability;
124
+ controlAvailability: AppRunCapabilityAvailability;
125
+ viewerAttachment: AppRunViewerAttachment;
126
+ recentEvents: AppRunEvent[];
127
+ awaySummary: AppRunAwaySummary | null;
128
+ health: AppRunHealth;
129
+ healthDetails: AppRunHealthDetails;
130
+ }
131
+ export interface AppRunActionResult {
132
+ success: boolean;
133
+ message: string;
134
+ run?: AppRunSummary | null;
135
+ }
136
+ export type AppLaunchDiagnosticSeverity = "info" | "warning" | "error";
137
+ export interface AppLaunchDiagnostic {
138
+ code: string;
139
+ severity: AppLaunchDiagnosticSeverity;
140
+ message: string;
141
+ }
142
+ export interface AppLaunchPreparation {
143
+ diagnostics?: AppLaunchDiagnostic[];
144
+ launchUrl?: string | null;
145
+ viewer?: Omit<AppViewerConfig, "authMessage"> | null;
146
+ }
147
+ export interface AppLaunchResult {
148
+ pluginInstalled: boolean;
149
+ needsRestart: boolean;
150
+ displayName: string;
151
+ launchType: string;
152
+ launchUrl: string | null;
153
+ viewer: AppViewerConfig | null;
154
+ session: AppSessionState | null;
155
+ run: AppRunSummary | null;
156
+ diagnostics?: AppLaunchDiagnostic[];
157
+ }
158
+ export interface InstalledAppInfo {
159
+ name: string;
160
+ displayName: string;
161
+ pluginName: string;
162
+ version: string;
163
+ installedAt: string;
164
+ }
165
+ export interface ElizaCuratedAppDefinition {
166
+ slug: string;
167
+ canonicalName: string;
168
+ aliases: string[];
169
+ }
170
+ export interface AppStopResult {
171
+ success: boolean;
172
+ appName: string;
173
+ runId: string | null;
174
+ stoppedAt: string;
175
+ pluginUninstalled: boolean;
176
+ needsRestart: boolean;
177
+ stopScope: "plugin-uninstalled" | "viewer-session" | "no-op";
178
+ message: string;
179
+ }
180
+ export declare const ELIZA_CURATED_APP_DEFINITIONS: readonly ElizaCuratedAppDefinition[];
181
+ export declare function packageNameToAppRouteSlug(packageName: string): string | null;
182
+ export declare function packageNameToAppDisplayName(packageName: string): string;
183
+ export declare function hasAppInterface(value: {
184
+ kind?: string | null;
185
+ appMeta?: unknown;
186
+ } | null | undefined): boolean;
187
+ export declare function getElizaCuratedAppDefinition(value: string): ElizaCuratedAppDefinition | null;
188
+ export declare function normalizeElizaCuratedAppName(value: string): string | null;
189
+ export declare function isElizaCuratedAppName(value: string): boolean;
190
+ /**
191
+ * Register an additional curated app definition at runtime.
192
+ * Plugins should call this during initialization to add their app to the
193
+ * curated catalog.
194
+ */
195
+ export declare function registerCuratedApp(def: ElizaCuratedAppDefinition): void;
196
+ /**
197
+ * Get all curated app definitions: hardcoded list merged with
198
+ * runtime-registered apps. Runtime registrations with the same slug
199
+ * override hardcoded entries.
200
+ */
201
+ export declare function getCuratedAppDefinitions(): ElizaCuratedAppDefinition[];
202
+ export declare function getElizaCuratedAppCatalogOrder(value: string): number;
203
+ export declare function getElizaCuratedAppLookupNames(value: string): string[];
204
+ //# sourceMappingURL=apps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../src/contracts/apps.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,189 @@
1
+ /**
2
+ * Shared app manager contracts.
3
+ */
4
+ function packageNameToBasename(packageName) {
5
+ return packageName
6
+ .trim()
7
+ .replace(/^@[^/]+\//, "")
8
+ .trim();
9
+ }
10
+ export const ELIZA_CURATED_APP_DEFINITIONS = [
11
+ {
12
+ slug: "companion",
13
+ canonicalName: "@elizaos/app-companion",
14
+ aliases: [],
15
+ },
16
+ {
17
+ slug: "hyperscape",
18
+ canonicalName: "@hyperscape/plugin-hyperscape",
19
+ aliases: ["@elizaos/app-hyperscape"],
20
+ },
21
+ {
22
+ slug: "babylon",
23
+ canonicalName: "@elizaos/app-babylon",
24
+ aliases: [],
25
+ },
26
+ {
27
+ slug: "2004scape",
28
+ canonicalName: "@elizaos/app-2004scape",
29
+ aliases: [],
30
+ },
31
+ {
32
+ slug: "scape",
33
+ canonicalName: "@elizaos/app-scape",
34
+ aliases: [],
35
+ },
36
+ {
37
+ slug: "defense-of-the-agents",
38
+ canonicalName: "@elizaos/app-defense-of-the-agents",
39
+ aliases: [],
40
+ },
41
+ {
42
+ slug: "vincent",
43
+ canonicalName: "@elizaos/app-vincent",
44
+ aliases: [],
45
+ },
46
+ {
47
+ slug: "shopify",
48
+ canonicalName: "@elizaos/app-shopify",
49
+ aliases: ["@elizaos/plugin-shopify"],
50
+ },
51
+ {
52
+ slug: "clawville",
53
+ canonicalName: "@clawville/app-clawville",
54
+ aliases: [],
55
+ },
56
+ ];
57
+ function getElizaCuratedAppMatchKeys(definition) {
58
+ const keys = new Set([
59
+ definition.slug.trim().toLowerCase(),
60
+ definition.canonicalName.trim().toLowerCase(),
61
+ ]);
62
+ for (const alias of definition.aliases) {
63
+ const trimmed = alias.trim().toLowerCase();
64
+ if (!trimmed)
65
+ continue;
66
+ keys.add(trimmed);
67
+ const routeSlug = packageNameToAppRouteSlug(alias)?.trim().toLowerCase();
68
+ if (routeSlug) {
69
+ keys.add(routeSlug);
70
+ }
71
+ }
72
+ const canonicalRouteSlug = packageNameToAppRouteSlug(definition.canonicalName)
73
+ ?.trim()
74
+ .toLowerCase();
75
+ if (canonicalRouteSlug) {
76
+ keys.add(canonicalRouteSlug);
77
+ }
78
+ return Array.from(keys);
79
+ }
80
+ const ELIZA_CURATED_APP_DEFINITION_BY_KEY = new Map(ELIZA_CURATED_APP_DEFINITIONS.flatMap((definition) => getElizaCuratedAppMatchKeys(definition).map((key) => [key, definition])));
81
+ export function packageNameToAppRouteSlug(packageName) {
82
+ const basename = packageNameToBasename(packageName);
83
+ if (!basename)
84
+ return null;
85
+ const withoutPrefix = basename.replace(/^(app|plugin)-/, "").trim();
86
+ return withoutPrefix || basename;
87
+ }
88
+ export function packageNameToAppDisplayName(packageName) {
89
+ const slug = packageNameToAppRouteSlug(packageName) ??
90
+ packageNameToBasename(packageName) ??
91
+ packageName.trim();
92
+ return slug
93
+ .split(/[^a-zA-Z0-9]+/)
94
+ .filter((part) => part.length > 0)
95
+ .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
96
+ .join(" ");
97
+ }
98
+ export function hasAppInterface(value) {
99
+ return Boolean(value && (value.kind === "app" || value.appMeta));
100
+ }
101
+ export function getElizaCuratedAppDefinition(value) {
102
+ const trimmed = value.trim();
103
+ if (!trimmed)
104
+ return null;
105
+ const directMatch = ELIZA_CURATED_APP_DEFINITION_BY_KEY.get(trimmed.toLowerCase());
106
+ if (directMatch) {
107
+ return directMatch;
108
+ }
109
+ const routeSlug = packageNameToAppRouteSlug(trimmed)?.trim().toLowerCase();
110
+ if (!routeSlug) {
111
+ return null;
112
+ }
113
+ return ELIZA_CURATED_APP_DEFINITION_BY_KEY.get(routeSlug) ?? null;
114
+ }
115
+ export function normalizeElizaCuratedAppName(value) {
116
+ return getElizaCuratedAppDefinition(value)?.canonicalName ?? null;
117
+ }
118
+ export function isElizaCuratedAppName(value) {
119
+ return normalizeElizaCuratedAppName(value) !== null;
120
+ }
121
+ // ---------------------------------------------------------------------------
122
+ // Curated app registry — allows plugins to register additional curated app
123
+ // definitions at runtime without modifying the hardcoded list.
124
+ // ---------------------------------------------------------------------------
125
+ const _registeredCuratedApps = [];
126
+ /**
127
+ * Register an additional curated app definition at runtime.
128
+ * Plugins should call this during initialization to add their app to the
129
+ * curated catalog.
130
+ */
131
+ export function registerCuratedApp(def) {
132
+ const existing = _registeredCuratedApps.findIndex((d) => d.slug === def.slug);
133
+ if (existing >= 0) {
134
+ _registeredCuratedApps[existing] = def;
135
+ }
136
+ else {
137
+ _registeredCuratedApps.push(def);
138
+ }
139
+ // Rebuild the lookup map so runtime-registered apps are discoverable
140
+ _rebuildCuratedAppLookup();
141
+ }
142
+ /**
143
+ * Get all curated app definitions: hardcoded list merged with
144
+ * runtime-registered apps. Runtime registrations with the same slug
145
+ * override hardcoded entries.
146
+ */
147
+ export function getCuratedAppDefinitions() {
148
+ const merged = new Map();
149
+ for (const def of ELIZA_CURATED_APP_DEFINITIONS) {
150
+ merged.set(def.slug, def);
151
+ }
152
+ for (const def of _registeredCuratedApps) {
153
+ merged.set(def.slug, def);
154
+ }
155
+ return Array.from(merged.values());
156
+ }
157
+ function _rebuildCuratedAppLookup() {
158
+ // Add registered apps to the mutable lookup map
159
+ for (const def of _registeredCuratedApps) {
160
+ for (const key of getElizaCuratedAppMatchKeys(def)) {
161
+ ELIZA_CURATED_APP_DEFINITION_BY_KEY.set(key, def);
162
+ }
163
+ }
164
+ }
165
+ export function getElizaCuratedAppCatalogOrder(value) {
166
+ const canonicalName = normalizeElizaCuratedAppName(value);
167
+ if (!canonicalName) {
168
+ return Number.MAX_SAFE_INTEGER;
169
+ }
170
+ const index = ELIZA_CURATED_APP_DEFINITIONS.findIndex((definition) => definition.canonicalName === canonicalName);
171
+ return index >= 0 ? index : Number.MAX_SAFE_INTEGER;
172
+ }
173
+ export function getElizaCuratedAppLookupNames(value) {
174
+ const definition = getElizaCuratedAppDefinition(value);
175
+ if (!definition) {
176
+ const trimmed = value.trim();
177
+ return trimmed ? [trimmed] : [];
178
+ }
179
+ return Array.from(new Set([
180
+ definition.canonicalName,
181
+ ...definition.aliases,
182
+ definition.slug,
183
+ ...definition.aliases
184
+ .map((alias) => packageNameToAppRouteSlug(alias))
185
+ .filter((alias) => Boolean(alias)),
186
+ packageNameToAppRouteSlug(definition.canonicalName) ?? definition.slug,
187
+ ]));
188
+ }
189
+ //# sourceMappingURL=apps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apps.js","sourceRoot":"","sources":["../../src/contracts/apps.ts"],"names":[],"mappings":"AAAA;;GAEG;AA+NH,SAAS,qBAAqB,CAAC,WAAmB;IAChD,OAAO,WAAW;SACf,IAAI,EAAE;SACN,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;SACxB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,CAAC,MAAM,6BAA6B,GACxC;IACE;QACE,IAAI,EAAE,WAAW;QACjB,aAAa,EAAE,wBAAwB;QACvC,OAAO,EAAE,EAAE;KACZ;IACD;QACE,IAAI,EAAE,YAAY;QAClB,aAAa,EAAE,+BAA+B;QAC9C,OAAO,EAAE,CAAC,yBAAyB,CAAC;KACrC;IACD;QACE,IAAI,EAAE,SAAS;QACf,aAAa,EAAE,sBAAsB;QACrC,OAAO,EAAE,EAAE;KACZ;IACD;QACE,IAAI,EAAE,WAAW;QACjB,aAAa,EAAE,wBAAwB;QACvC,OAAO,EAAE,EAAE;KACZ;IACD;QACE,IAAI,EAAE,OAAO;QACb,aAAa,EAAE,oBAAoB;QACnC,OAAO,EAAE,EAAE;KACZ;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,aAAa,EAAE,oCAAoC;QACnD,OAAO,EAAE,EAAE;KACZ;IACD;QACE,IAAI,EAAE,SAAS;QACf,aAAa,EAAE,sBAAsB;QACrC,OAAO,EAAE,EAAE;KACZ;IACD;QACE,IAAI,EAAE,SAAS;QACf,aAAa,EAAE,sBAAsB;QACrC,OAAO,EAAE,CAAC,yBAAyB,CAAC;KACrC;IACD;QACE,IAAI,EAAE,WAAW;QACjB,aAAa,EAAE,0BAA0B;QACzC,OAAO,EAAE,EAAE;KACZ;CACO,CAAC;AAEb,SAAS,2BAA2B,CAClC,UAAqC;IAErC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS;QAC3B,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;KAC9C,CAAC,CAAC;IAEH,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAElB,MAAM,SAAS,GAAG,yBAAyB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACzE,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,UAAU,CAAC,aAAa,CAAC;QAC5E,EAAE,IAAI,EAAE;SACP,WAAW,EAAE,CAAC;IACjB,IAAI,kBAAkB,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,mCAAmC,GAAG,IAAI,GAAG,CAIjD,6BAA6B,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACnD,2BAA2B,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CACxE,CACF,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,WAAmB;IAC3D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpE,OAAO,aAAa,IAAI,QAAQ,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,WAAmB;IAC7D,MAAM,IAAI,GACR,yBAAyB,CAAC,WAAW,CAAC;QACtC,qBAAqB,CAAC,WAAW,CAAC;QAClC,WAAW,CAAC,IAAI,EAAE,CAAC;IAErB,OAAO,IAAI;SACR,KAAK,CAAC,eAAe,CAAC;SACtB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,KAAqE;IAErE,OAAO,OAAO,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,KAAa;IAEb,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,WAAW,GAAG,mCAAmC,CAAC,GAAG,CACzD,OAAO,CAAC,WAAW,EAAE,CACtB,CAAC;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,SAAS,GAAG,yBAAyB,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3E,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,mCAAmC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAa;IACxD,OAAO,4BAA4B,CAAC,KAAK,CAAC,EAAE,aAAa,IAAI,IAAI,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,OAAO,4BAA4B,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;AACtD,CAAC;AAED,8EAA8E;AAC9E,2EAA2E;AAC3E,+DAA+D;AAC/D,8EAA8E;AAE9E,MAAM,sBAAsB,GAAgC,EAAE,CAAC;AAE/D;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAA8B;IAC/D,MAAM,QAAQ,GAAG,sBAAsB,CAAC,SAAS,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAC3B,CAAC;IACF,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,sBAAsB,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IACD,qEAAqE;IACrE,wBAAwB,EAAE,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB;IACtC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAqC,CAAC;IAC5D,KAAK,MAAM,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAChD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,wBAAwB;IAC/B,gDAAgD;IAChD,KAAK,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACzC,KAAK,MAAM,GAAG,IAAI,2BAA2B,CAAC,GAAG,CAAC,EAAE,CAAC;YACnD,mCAAmC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAa;IAC1D,MAAM,aAAa,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IAC1D,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED,MAAM,KAAK,GAAG,6BAA6B,CAAC,SAAS,CACnD,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,KAAK,aAAa,CAC3D,CAAC;IACF,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAAa;IACzD,MAAM,UAAU,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CACf,IAAI,GAAG,CAAC;QACN,UAAU,CAAC,aAAa;QACxB,GAAG,UAAU,CAAC,OAAO;QACrB,UAAU,CAAC,IAAI;QACf,GAAG,UAAU,CAAC,OAAO;aAClB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;aAChD,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrD,yBAAyB,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,IAAI;KACvE,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Self-Awareness System v1 — shared contracts.
3
+ *
4
+ * @architecture Layered lazy-load + declarative AwarenessContributor
5
+ * @see docs/plans/2026-03-01-self-awareness-design.md
6
+ */
7
+ import type { IAgentRuntime } from "@elizaos/core";
8
+ export declare const SELF_STATUS_SCHEMA_VERSION = 1;
9
+ /** Max chars for a single contributor summary line. */
10
+ export declare const SUMMARY_CHAR_LIMIT = 80;
11
+ /** Max total chars for the composed Layer 1 output (~300 tokens). */
12
+ export declare const SUMMARY_TOTAL_CHAR_LIMIT = 1200;
13
+ /** Default cache TTL in ms (1 minute). */
14
+ export declare const DEFAULT_CACHE_TTL_MS = 60000;
15
+ export type AwarenessInvalidationEvent = "permission-changed" | "plugin-changed" | "wallet-updated" | "provider-changed" | "config-changed" | "runtime-restarted" | "opinion-updated";
16
+ export interface AwarenessContributor {
17
+ /** Unique identifier, e.g. "wallet", "permissions". */
18
+ id: string;
19
+ /** Sort priority (lower = higher in output).
20
+ * 10=runtime, 20=permissions, 30=wallet, 40=provider,
21
+ * 50=pluginHealth, 60=connectors, 70=cloud, 80=features */
22
+ position: number;
23
+ /** Layer 1 summary — injected every LLM turn.
24
+ * MUST return plain text, never secrets/keys/tokens.
25
+ * MUST be <= SUMMARY_CHAR_LIMIT chars. Return "" if nothing to show. */
26
+ summary: (runtime: IAgentRuntime) => Promise<string>;
27
+ /** Layer 2 detail — called via GET_SELF_STATUS action.
28
+ * "brief" ~= 200 tokens, "full" ~= 2000 tokens. */
29
+ detail?: (runtime: IAgentRuntime, level: "brief" | "full") => Promise<string>;
30
+ /** Cache TTL in ms. Default DEFAULT_CACHE_TTL_MS. */
31
+ cacheTtl?: number;
32
+ /** Events that proactively clear the cache (don't wait for TTL). */
33
+ invalidateOn?: AwarenessInvalidationEvent[];
34
+ /** Only built-in contributors set trusted=true.
35
+ * Untrusted contributor output is sanitized before injection. */
36
+ trusted?: boolean;
37
+ }
38
+ //# sourceMappingURL=awareness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"awareness.d.ts","sourceRoot":"","sources":["../../src/contracts/awareness.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C,uDAAuD;AACvD,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,qEAAqE;AACrE,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C,0CAA0C;AAC1C,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAE3C,MAAM,MAAM,0BAA0B,GAClC,oBAAoB,GACpB,gBAAgB,GAChB,gBAAgB,GAChB,kBAAkB,GAClB,gBAAgB,GAChB,mBAAmB,GACnB,iBAAiB,CAAC;AAEtB,MAAM,WAAW,oBAAoB;IACnC,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;IAEX;;gEAE4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IAEjB;;6EAEyE;IACzE,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAErD;wDACoD;IACpD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9E,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,oEAAoE;IACpE,YAAY,CAAC,EAAE,0BAA0B,EAAE,CAAC;IAE5C;sEACkE;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
@@ -0,0 +1,8 @@
1
+ export const SELF_STATUS_SCHEMA_VERSION = 1;
2
+ /** Max chars for a single contributor summary line. */
3
+ export const SUMMARY_CHAR_LIMIT = 80;
4
+ /** Max total chars for the composed Layer 1 output (~300 tokens). */
5
+ export const SUMMARY_TOTAL_CHAR_LIMIT = 1200;
6
+ /** Default cache TTL in ms (1 minute). */
7
+ export const DEFAULT_CACHE_TTL_MS = 60_000;
8
+ //# sourceMappingURL=awareness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"awareness.js","sourceRoot":"","sources":["../../src/contracts/awareness.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAE5C,uDAAuD;AACvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAErC,qEAAqE;AACrE,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAE7C,0CAA0C;AAC1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC"}
@@ -0,0 +1,13 @@
1
+ export type ElizaCloudService = "inference" | "tts" | "media" | "embeddings" | "rpc";
2
+ export type ResolvedElizaCloudTopology = {
3
+ linked: boolean;
4
+ provider: "elizacloud" | null;
5
+ runtime: "cloud" | "local";
6
+ services: Record<ElizaCloudService, boolean>;
7
+ shouldLoadPlugin: boolean;
8
+ };
9
+ export declare function isElizaCloudLinkedInConfig(config: Record<string, unknown> | null | undefined): boolean;
10
+ export declare function resolveElizaCloudTopology(config: Record<string, unknown> | null | undefined): ResolvedElizaCloudTopology;
11
+ export declare function isElizaCloudServiceSelectedInConfig(config: Record<string, unknown> | null | undefined, service: ElizaCloudService): boolean;
12
+ export declare function shouldLoadElizaCloudPluginInConfig(config: Record<string, unknown> | null | undefined): boolean;
13
+ //# sourceMappingURL=cloud-topology.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-topology.d.ts","sourceRoot":"","sources":["../../src/contracts/cloud-topology.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,iBAAiB,GACzB,WAAW,GACX,KAAK,GACL,OAAO,GACP,YAAY,GACZ,KAAK,CAAC;AAEV,MAAM,MAAM,0BAA0B,GAAG;IACvC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAC7C,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAiCF,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GACjD,OAAO,CAST;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GACjD,0BAA0B,CA8C5B;AAED,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EAClD,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAET;AAED,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GACjD,OAAO,CAET"}
@@ -0,0 +1,74 @@
1
+ import { normalizeOnboardingProviderId, resolveDeploymentTargetInConfig, resolveLinkedAccountsInConfig, resolveServiceRoutingInConfig, } from "./onboarding.js";
2
+ const REDACTED_SECRET = "[REDACTED]";
3
+ function asConfigRecord(value) {
4
+ return value && typeof value === "object" && !Array.isArray(value)
5
+ ? value
6
+ : null;
7
+ }
8
+ function _readConfigString(source, key) {
9
+ const value = source?.[key];
10
+ if (typeof value !== "string") {
11
+ return undefined;
12
+ }
13
+ const trimmed = value.trim();
14
+ return trimmed.length > 0 ? trimmed : undefined;
15
+ }
16
+ function normalizeSecretString(value) {
17
+ if (typeof value !== "string") {
18
+ return undefined;
19
+ }
20
+ const trimmed = value.trim();
21
+ if (!trimmed || trimmed.toUpperCase() === REDACTED_SECRET) {
22
+ return undefined;
23
+ }
24
+ return trimmed;
25
+ }
26
+ export function isElizaCloudLinkedInConfig(config) {
27
+ const linkedAccounts = resolveLinkedAccountsInConfig(config);
28
+ const linkedCloudAccount = linkedAccounts?.elizacloud;
29
+ if (linkedCloudAccount?.status === "linked") {
30
+ return true;
31
+ }
32
+ const cloud = asConfigRecord(config?.cloud);
33
+ return Boolean(normalizeSecretString(cloud?.apiKey));
34
+ }
35
+ export function resolveElizaCloudTopology(config) {
36
+ const deploymentTarget = resolveDeploymentTargetInConfig(config);
37
+ const routing = resolveServiceRoutingInConfig(config);
38
+ const provider = (normalizeOnboardingProviderId(routing?.llmText?.backend) === "elizacloud"
39
+ ? "elizacloud"
40
+ : null) ??
41
+ (deploymentTarget.provider === "elizacloud" ? "elizacloud" : null);
42
+ const runtime = deploymentTarget.runtime === "cloud" ? "cloud" : "local";
43
+ const resolvedServices = {
44
+ inference: Boolean(routing?.llmText?.transport === "cloud-proxy" &&
45
+ normalizeOnboardingProviderId(routing.llmText.backend) ===
46
+ "elizacloud"),
47
+ tts: Boolean(routing?.tts?.transport === "cloud-proxy" &&
48
+ normalizeOnboardingProviderId(routing.tts.backend) === "elizacloud"),
49
+ media: Boolean(routing?.media?.transport === "cloud-proxy" &&
50
+ normalizeOnboardingProviderId(routing.media.backend) === "elizacloud"),
51
+ embeddings: Boolean(routing?.embeddings?.transport === "cloud-proxy" &&
52
+ normalizeOnboardingProviderId(routing.embeddings.backend) ===
53
+ "elizacloud"),
54
+ rpc: Boolean(routing?.rpc?.transport === "cloud-proxy" &&
55
+ normalizeOnboardingProviderId(routing.rpc.backend) === "elizacloud"),
56
+ };
57
+ const cloudDeploymentSelected = deploymentTarget.runtime === "cloud" &&
58
+ deploymentTarget.provider === "elizacloud";
59
+ return {
60
+ linked: isElizaCloudLinkedInConfig(config),
61
+ provider: provider === "elizacloud" ? "elizacloud" : null,
62
+ runtime,
63
+ services: resolvedServices,
64
+ shouldLoadPlugin: cloudDeploymentSelected ||
65
+ Object.values(resolvedServices).some(Boolean),
66
+ };
67
+ }
68
+ export function isElizaCloudServiceSelectedInConfig(config, service) {
69
+ return resolveElizaCloudTopology(config).services[service];
70
+ }
71
+ export function shouldLoadElizaCloudPluginInConfig(config) {
72
+ return resolveElizaCloudTopology(config).shouldLoadPlugin;
73
+ }
74
+ //# sourceMappingURL=cloud-topology.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-topology.js","sourceRoot":"","sources":["../../src/contracts/cloud-topology.ts"],"names":[],"mappings":"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"}