manifest 5.45.0 → 6.0.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.
Files changed (406) hide show
  1. package/CONTRACT.md +50 -0
  2. package/README.md +69 -100
  3. package/dist/index.cjs +472 -0
  4. package/dist/index.d.cts +24 -0
  5. package/dist/index.d.ts +24 -0
  6. package/dist/index.js +443 -12
  7. package/docs/guide.md +77 -0
  8. package/package.json +36 -79
  9. package/dist/backend/analytics/analytics.module.js +0 -60
  10. package/dist/backend/analytics/controllers/agent-analytics.controller.js +0 -69
  11. package/dist/backend/analytics/controllers/agents.controller.js +0 -176
  12. package/dist/backend/analytics/controllers/costs.controller.js +0 -71
  13. package/dist/backend/analytics/controllers/messages.controller.js +0 -67
  14. package/dist/backend/analytics/controllers/overview.controller.js +0 -104
  15. package/dist/backend/analytics/controllers/tokens.controller.js +0 -74
  16. package/dist/backend/analytics/dto/messages-query.dto.js +0 -73
  17. package/dist/backend/analytics/services/agent-analytics.service.js +0 -125
  18. package/dist/backend/analytics/services/agent-lifecycle.service.js +0 -102
  19. package/dist/backend/analytics/services/aggregation.service.js +0 -205
  20. package/dist/backend/analytics/services/message-details.service.js +0 -146
  21. package/dist/backend/analytics/services/messages-query.service.js +0 -196
  22. package/dist/backend/analytics/services/query-helpers.js +0 -45
  23. package/dist/backend/analytics/services/timeseries-queries.service.js +0 -237
  24. package/dist/backend/app.module.js +0 -94
  25. package/dist/backend/auth/auth.instance.js +0 -121
  26. package/dist/backend/auth/auth.module.js +0 -17
  27. package/dist/backend/auth/current-user.decorator.js +0 -9
  28. package/dist/backend/auth/local-auth.guard.js +0 -51
  29. package/dist/backend/auth/session.guard.js +0 -57
  30. package/dist/backend/common/common.module.js +0 -41
  31. package/dist/backend/common/constants/api-key.constants.js +0 -6
  32. package/dist/backend/common/constants/cache.constants.js +0 -8
  33. package/dist/backend/common/constants/local-mode.constants.js +0 -102
  34. package/dist/backend/common/constants/ollama.js +0 -5
  35. package/dist/backend/common/constants/providers.js +0 -134
  36. package/dist/backend/common/decorators/public.decorator.js +0 -8
  37. package/dist/backend/common/dto/create-agent.dto.js +0 -26
  38. package/dist/backend/common/dto/range-query.dto.js +0 -29
  39. package/dist/backend/common/dto/rename-agent.dto.js +0 -26
  40. package/dist/backend/common/filters/spa-fallback.filter.js +0 -46
  41. package/dist/backend/common/guards/api-key.guard.js +0 -89
  42. package/dist/backend/common/interceptors/agent-cache.interceptor.js +0 -39
  43. package/dist/backend/common/interceptors/user-cache.interceptor.js +0 -39
  44. package/dist/backend/common/services/ingest-event-bus.service.js +0 -44
  45. package/dist/backend/common/services/manifest-runtime.service.js +0 -39
  46. package/dist/backend/common/services/tenant-cache.service.js +0 -56
  47. package/dist/backend/common/utils/anthropic-model-id.js +0 -36
  48. package/dist/backend/common/utils/cost-calculator.js +0 -19
  49. package/dist/backend/common/utils/crypto.util.js +0 -72
  50. package/dist/backend/common/utils/frontend-path.js +0 -21
  51. package/dist/backend/common/utils/hash.util.js +0 -32
  52. package/dist/backend/common/utils/local-ip.js +0 -33
  53. package/dist/backend/common/utils/period.util.js +0 -55
  54. package/dist/backend/common/utils/provider-aliases.js +0 -13
  55. package/dist/backend/common/utils/provider-inference.js +0 -7
  56. package/dist/backend/common/utils/range.util.js +0 -29
  57. package/dist/backend/common/utils/slugify.js +0 -13
  58. package/dist/backend/common/utils/sql-dialect.js +0 -71
  59. package/dist/backend/common/utils/subscription-support.js +0 -12
  60. package/dist/backend/common/utils/ttl-cache.js +0 -59
  61. package/dist/backend/common/utils/url-validation.js +0 -107
  62. package/dist/backend/config/app.config.js +0 -48
  63. package/dist/backend/database/database-seeder.service.js +0 -180
  64. package/dist/backend/database/database.module.js +0 -199
  65. package/dist/backend/database/datasource.js +0 -28
  66. package/dist/backend/database/local-bootstrap.service.js +0 -161
  67. package/dist/backend/database/migrations/1771464895790-InitialSchema.js +0 -91
  68. package/dist/backend/database/migrations/1771500000000-HashApiKeys.js +0 -67
  69. package/dist/backend/database/migrations/1771600000000-AddModelCapabilities.js +0 -27
  70. package/dist/backend/database/migrations/1771600000000-ModelPricingImprovements.js +0 -60
  71. package/dist/backend/database/migrations/1771700000000-AddRoutingTables.js +0 -50
  72. package/dist/backend/database/migrations/1771700000000-EmailProviderConfigs.js +0 -31
  73. package/dist/backend/database/migrations/1771800000000-AddNotificationEmailAndOptionalDomain.js +0 -16
  74. package/dist/backend/database/migrations/1771800000000-AddQualityScore.js +0 -50
  75. package/dist/backend/database/migrations/1771800100000-SeedQualityScores.js +0 -45
  76. package/dist/backend/database/migrations/1771900000000-EncryptApiKeys.js +0 -34
  77. package/dist/backend/database/migrations/1772000000000-MakeApiKeyNullable.js +0 -16
  78. package/dist/backend/database/migrations/1772100000000-AddRoutingTier.js +0 -17
  79. package/dist/backend/database/migrations/1772200000000-AddLimitAction.js +0 -17
  80. package/dist/backend/database/migrations/1772300000000-AddRoutingReason.js +0 -17
  81. package/dist/backend/database/migrations/1772400000000-AddAgentDisplayName.js +0 -13
  82. package/dist/backend/database/migrations/1772500000000-PerAgentRouting.js +0 -82
  83. package/dist/backend/database/migrations/1772668898071-AddCustomProviders.js +0 -31
  84. package/dist/backend/database/migrations/1772682112419-NullablePricing.js +0 -17
  85. package/dist/backend/database/migrations/1772843035514-AddPerformanceIndexes.js +0 -56
  86. package/dist/backend/database/migrations/1772900000000-AddProviderAuthType.js +0 -13
  87. package/dist/backend/database/migrations/1772905146384-AddDashboardIndexes.js +0 -24
  88. package/dist/backend/database/migrations/1772905260464-AddFallbacks.js +0 -18
  89. package/dist/backend/database/migrations/1772920000000-AddModelDisplayName.js +0 -14
  90. package/dist/backend/database/migrations/1772940000000-DropRedundantIndexes.js +0 -39
  91. package/dist/backend/database/migrations/1772948502780-BackfillTenantId.js +0 -20
  92. package/dist/backend/database/migrations/1772960000000-DropUnusedIndexes.js +0 -19
  93. package/dist/backend/database/migrations/1772960000000-PurgeNonCuratedModels.js +0 -86
  94. package/dist/backend/database/migrations/1773000000000-ExpandProviderUniqueKey.js +0 -19
  95. package/dist/backend/database/migrations/1773100000000-AddOverrideAuthType.js +0 -18
  96. package/dist/backend/database/migrations/1773200000000-AddMessageAuthType.js +0 -18
  97. package/dist/backend/database/migrations/1773202787708-AddModelsAgentIndex.js +0 -16
  98. package/dist/backend/database/migrations/1773300000000-AddEmailProviderKeyPrefix.js +0 -13
  99. package/dist/backend/database/migrations/1773400000000-AddProviderModelCache.js +0 -15
  100. package/dist/backend/database/migrations/1773500000000-DropModelPricingTables.js +0 -51
  101. package/dist/backend/database/migrations/1773600000000-AddOverrideProvider.js +0 -18
  102. package/dist/backend/database/migrations/1773650000000-AddProviderRegion.js +0 -13
  103. package/dist/backend/database/migrations/1773700000000-DropSecurityEventTable.js +0 -24
  104. package/dist/backend/database/migrations/1773800000000-FixNegativeCosts.js +0 -12
  105. package/dist/backend/database/migrations/1773900000000-AddKeyPrefixIndex.js +0 -15
  106. package/dist/backend/database/migrations/1774000000000-WidenKeyHashColumn.js +0 -15
  107. package/dist/backend/database/migrations/1774896789000-WidenApiKeyColumn.js +0 -14
  108. package/dist/backend/database/models-dev-sync.service.js +0 -238
  109. package/dist/backend/database/ollama-sync.service.js +0 -70
  110. package/dist/backend/database/pricing-sync.service.js +0 -116
  111. package/dist/backend/database/quality-score.util.js +0 -76
  112. package/dist/backend/database/seed-messages.js +0 -66
  113. package/dist/backend/entities/agent-api-key.entity.js +0 -91
  114. package/dist/backend/entities/agent-log.entity.js +0 -71
  115. package/dist/backend/entities/agent-message.entity.js +0 -158
  116. package/dist/backend/entities/agent.entity.js +0 -75
  117. package/dist/backend/entities/api-key.entity.js +0 -62
  118. package/dist/backend/entities/cost-snapshot.entity.js +0 -56
  119. package/dist/backend/entities/custom-provider.entity.js +0 -64
  120. package/dist/backend/entities/email-provider-config.entity.js +0 -72
  121. package/dist/backend/entities/llm-call.entity.js +0 -106
  122. package/dist/backend/entities/notification-log.entity.js +0 -67
  123. package/dist/backend/entities/notification-rule.entity.js +0 -84
  124. package/dist/backend/entities/tenant.entity.js +0 -62
  125. package/dist/backend/entities/tier-assignment.entity.js +0 -72
  126. package/dist/backend/entities/token-usage-snapshot.entity.js +0 -71
  127. package/dist/backend/entities/tool-execution.entity.js +0 -60
  128. package/dist/backend/entities/user-provider.entity.js +0 -87
  129. package/dist/backend/github/github.controller.js +0 -53
  130. package/dist/backend/github/github.module.js +0 -20
  131. package/dist/backend/health/health.controller.js +0 -51
  132. package/dist/backend/health/health.module.js +0 -22
  133. package/dist/backend/health/version-check.service.js +0 -95
  134. package/dist/backend/main.js +0 -153
  135. package/dist/backend/model-discovery/anthropic-subscription-probe.js +0 -87
  136. package/dist/backend/model-discovery/known-model-prices.js +0 -18
  137. package/dist/backend/model-discovery/model-discovery.module.js +0 -28
  138. package/dist/backend/model-discovery/model-discovery.service.js +0 -309
  139. package/dist/backend/model-discovery/model-fallback.js +0 -234
  140. package/dist/backend/model-discovery/model-fetcher.js +0 -3
  141. package/dist/backend/model-discovery/provider-model-fetcher.service.js +0 -376
  142. package/dist/backend/model-discovery/provider-model-registry.service.js +0 -84
  143. package/dist/backend/model-prices/model-name-normalizer.js +0 -129
  144. package/dist/backend/model-prices/model-prices.controller.js +0 -39
  145. package/dist/backend/model-prices/model-prices.module.js +0 -41
  146. package/dist/backend/model-prices/model-prices.service.js +0 -45
  147. package/dist/backend/model-prices/model-pricing-cache.service.js +0 -171
  148. package/dist/backend/notifications/dto/notification-rule.dto.js +0 -82
  149. package/dist/backend/notifications/dto/set-email-provider.dto.js +0 -86
  150. package/dist/backend/notifications/dto/set-notification-email.dto.js +0 -24
  151. package/dist/backend/notifications/emails/reset-password.js +0 -108
  152. package/dist/backend/notifications/emails/test-email.js +0 -91
  153. package/dist/backend/notifications/emails/threshold-alert.js +0 -187
  154. package/dist/backend/notifications/emails/verify-email.js +0 -108
  155. package/dist/backend/notifications/notifications.controller.js +0 -208
  156. package/dist/backend/notifications/notifications.module.js +0 -35
  157. package/dist/backend/notifications/services/email-provider-config.service.js +0 -184
  158. package/dist/backend/notifications/services/email-provider-validation.js +0 -47
  159. package/dist/backend/notifications/services/email-providers/email-provider.interface.js +0 -3
  160. package/dist/backend/notifications/services/email-providers/mailgun.provider.js +0 -62
  161. package/dist/backend/notifications/services/email-providers/resend.provider.js +0 -51
  162. package/dist/backend/notifications/services/email-providers/resolve-provider.js +0 -19
  163. package/dist/backend/notifications/services/email-providers/send-email.js +0 -34
  164. package/dist/backend/notifications/services/email-providers/sendgrid.provider.js +0 -59
  165. package/dist/backend/notifications/services/limit-check.service.js +0 -160
  166. package/dist/backend/notifications/services/notification-cron.service.js +0 -151
  167. package/dist/backend/notifications/services/notification-email.service.js +0 -65
  168. package/dist/backend/notifications/services/notification-log.service.js +0 -84
  169. package/dist/backend/notifications/services/notification-rules.service.js +0 -156
  170. package/dist/backend/otlp/guards/agent-key-auth.guard.js +0 -226
  171. package/dist/backend/otlp/interfaces/ingestion-context.interface.js +0 -3
  172. package/dist/backend/otlp/otlp-deprecated.controller.js +0 -61
  173. package/dist/backend/otlp/otlp.module.js +0 -30
  174. package/dist/backend/otlp/services/api-key.service.js +0 -143
  175. package/dist/backend/public-stats/public-stats.controller.js +0 -141
  176. package/dist/backend/public-stats/public-stats.module.js +0 -26
  177. package/dist/backend/public-stats/public-stats.service.js +0 -226
  178. package/dist/backend/routing/copilot.controller.js +0 -79
  179. package/dist/backend/routing/custom-provider/custom-provider.controller.js +0 -131
  180. package/dist/backend/routing/custom-provider/custom-provider.module.js +0 -27
  181. package/dist/backend/routing/custom-provider/custom-provider.service.js +0 -161
  182. package/dist/backend/routing/dto/custom-provider.dto.js +0 -124
  183. package/dist/backend/routing/dto/resolve-request.dto.js +0 -63
  184. package/dist/backend/routing/dto/resolve-response.js +0 -3
  185. package/dist/backend/routing/dto/routing.dto.js +0 -136
  186. package/dist/backend/routing/model.controller.js +0 -105
  187. package/dist/backend/routing/oauth/copilot-device-auth.service.js +0 -77
  188. package/dist/backend/routing/oauth/minimax-oauth-helpers.js +0 -70
  189. package/dist/backend/routing/oauth/minimax-oauth.controller.js +0 -80
  190. package/dist/backend/routing/oauth/minimax-oauth.service.js +0 -252
  191. package/dist/backend/routing/oauth/oauth.module.js +0 -29
  192. package/dist/backend/routing/oauth/openai-oauth.controller.js +0 -138
  193. package/dist/backend/routing/oauth/openai-oauth.service.js +0 -273
  194. package/dist/backend/routing/oauth/openai-oauth.types.js +0 -45
  195. package/dist/backend/routing/provider-base-url.js +0 -25
  196. package/dist/backend/routing/provider.controller.js +0 -152
  197. package/dist/backend/routing/proxy/anthropic-adapter.js +0 -295
  198. package/dist/backend/routing/proxy/cache-injection.js +0 -33
  199. package/dist/backend/routing/proxy/chatgpt-adapter.js +0 -272
  200. package/dist/backend/routing/proxy/chatgpt-helpers.js +0 -108
  201. package/dist/backend/routing/proxy/copilot-token.service.js +0 -63
  202. package/dist/backend/routing/proxy/fallback-status-codes.js +0 -7
  203. package/dist/backend/routing/proxy/google-adapter.js +0 -314
  204. package/dist/backend/routing/proxy/provider-client-converters.js +0 -190
  205. package/dist/backend/routing/proxy/provider-client.js +0 -130
  206. package/dist/backend/routing/proxy/provider-endpoints.js +0 -182
  207. package/dist/backend/routing/proxy/proxy-error-sanitizer.js +0 -40
  208. package/dist/backend/routing/proxy/proxy-exception.filter.js +0 -67
  209. package/dist/backend/routing/proxy/proxy-fallback.service.js +0 -227
  210. package/dist/backend/routing/proxy/proxy-friendly-response.js +0 -115
  211. package/dist/backend/routing/proxy/proxy-message-dedup.js +0 -121
  212. package/dist/backend/routing/proxy/proxy-message-recorder.js +0 -262
  213. package/dist/backend/routing/proxy/proxy-rate-limiter.js +0 -81
  214. package/dist/backend/routing/proxy/proxy-response-handler.js +0 -202
  215. package/dist/backend/routing/proxy/proxy-transport.js +0 -90
  216. package/dist/backend/routing/proxy/proxy-types.js +0 -3
  217. package/dist/backend/routing/proxy/proxy.controller.js +0 -174
  218. package/dist/backend/routing/proxy/proxy.module.js +0 -62
  219. package/dist/backend/routing/proxy/proxy.service.js +0 -227
  220. package/dist/backend/routing/proxy/session-momentum.service.js +0 -66
  221. package/dist/backend/routing/proxy/stream-writer.js +0 -147
  222. package/dist/backend/routing/proxy/thought-signature-cache.js +0 -45
  223. package/dist/backend/routing/qwen-region.js +0 -51
  224. package/dist/backend/routing/resolve/resolve.controller.js +0 -106
  225. package/dist/backend/routing/resolve/resolve.module.js +0 -28
  226. package/dist/backend/routing/resolve/resolve.service.js +0 -126
  227. package/dist/backend/routing/routing-core/provider-key.service.js +0 -190
  228. package/dist/backend/routing/routing-core/provider.service.js +0 -305
  229. package/dist/backend/routing/routing-core/resolve-agent.service.js +0 -62
  230. package/dist/backend/routing/routing-core/routing-cache.service.js +0 -73
  231. package/dist/backend/routing/routing-core/routing-core.module.js +0 -56
  232. package/dist/backend/routing/routing-core/routing-invalidation.service.js +0 -90
  233. package/dist/backend/routing/routing-core/tier-auto-assign.service.js +0 -138
  234. package/dist/backend/routing/routing-core/tier.service.js +0 -179
  235. package/dist/backend/routing/routing.module.js +0 -46
  236. package/dist/backend/routing/tier.controller.js +0 -129
  237. package/dist/backend/scoring/__tests__/fixtures.js +0 -191
  238. package/dist/backend/scoring/config.js +0 -383
  239. package/dist/backend/scoring/dimensions/contextual-dimensions.js +0 -85
  240. package/dist/backend/scoring/dimensions/index.js +0 -17
  241. package/dist/backend/scoring/dimensions/keyword-dimensions.js +0 -47
  242. package/dist/backend/scoring/dimensions/structural-dimensions.js +0 -118
  243. package/dist/backend/scoring/index.js +0 -186
  244. package/dist/backend/scoring/keyword-trie.js +0 -75
  245. package/dist/backend/scoring/momentum.js +0 -50
  246. package/dist/backend/scoring/overrides.js +0 -55
  247. package/dist/backend/scoring/sigmoid.js +0 -24
  248. package/dist/backend/scoring/text-extractor.js +0 -67
  249. package/dist/backend/scoring/types.js +0 -6
  250. package/dist/backend/sse/sse.controller.js +0 -45
  251. package/dist/backend/sse/sse.module.js +0 -20
  252. package/dist/node_modules/manifest-shared/dist/cjs/api-key.d.ts +0 -2
  253. package/dist/node_modules/manifest-shared/dist/cjs/api-key.d.ts.map +0 -1
  254. package/dist/node_modules/manifest-shared/dist/cjs/api-key.js +0 -5
  255. package/dist/node_modules/manifest-shared/dist/cjs/api-key.js.map +0 -1
  256. package/dist/node_modules/manifest-shared/dist/cjs/auth-types.d.ts +0 -3
  257. package/dist/node_modules/manifest-shared/dist/cjs/auth-types.d.ts.map +0 -1
  258. package/dist/node_modules/manifest-shared/dist/cjs/auth-types.js +0 -5
  259. package/dist/node_modules/manifest-shared/dist/cjs/auth-types.js.map +0 -1
  260. package/dist/node_modules/manifest-shared/dist/cjs/index.d.ts +0 -10
  261. package/dist/node_modules/manifest-shared/dist/cjs/index.d.ts.map +0 -1
  262. package/dist/node_modules/manifest-shared/dist/cjs/index.js +0 -22
  263. package/dist/node_modules/manifest-shared/dist/cjs/index.js.map +0 -1
  264. package/dist/node_modules/manifest-shared/dist/cjs/provider-inference.d.ts +0 -8
  265. package/dist/node_modules/manifest-shared/dist/cjs/provider-inference.d.ts.map +0 -1
  266. package/dist/node_modules/manifest-shared/dist/cjs/provider-inference.js +0 -37
  267. package/dist/node_modules/manifest-shared/dist/cjs/provider-inference.js.map +0 -1
  268. package/dist/node_modules/manifest-shared/dist/cjs/resolve-response.d.ts +0 -12
  269. package/dist/node_modules/manifest-shared/dist/cjs/resolve-response.d.ts.map +0 -1
  270. package/dist/node_modules/manifest-shared/dist/cjs/resolve-response.js +0 -3
  271. package/dist/node_modules/manifest-shared/dist/cjs/resolve-response.js.map +0 -1
  272. package/dist/node_modules/manifest-shared/dist/cjs/subscription/configs.d.ts +0 -4
  273. package/dist/node_modules/manifest-shared/dist/cjs/subscription/configs.d.ts.map +0 -1
  274. package/dist/node_modules/manifest-shared/dist/cjs/subscription/configs.js +0 -80
  275. package/dist/node_modules/manifest-shared/dist/cjs/subscription/configs.js.map +0 -1
  276. package/dist/node_modules/manifest-shared/dist/cjs/subscription/helpers.d.ts +0 -6
  277. package/dist/node_modules/manifest-shared/dist/cjs/subscription/helpers.d.ts.map +0 -1
  278. package/dist/node_modules/manifest-shared/dist/cjs/subscription/helpers.js +0 -25
  279. package/dist/node_modules/manifest-shared/dist/cjs/subscription/helpers.js.map +0 -1
  280. package/dist/node_modules/manifest-shared/dist/cjs/subscription/index.d.ts +0 -4
  281. package/dist/node_modules/manifest-shared/dist/cjs/subscription/index.d.ts.map +0 -1
  282. package/dist/node_modules/manifest-shared/dist/cjs/subscription/index.js +0 -12
  283. package/dist/node_modules/manifest-shared/dist/cjs/subscription/index.js.map +0 -1
  284. package/dist/node_modules/manifest-shared/dist/cjs/subscription/types.d.ts +0 -17
  285. package/dist/node_modules/manifest-shared/dist/cjs/subscription/types.d.ts.map +0 -1
  286. package/dist/node_modules/manifest-shared/dist/cjs/subscription/types.js +0 -3
  287. package/dist/node_modules/manifest-shared/dist/cjs/subscription/types.js.map +0 -1
  288. package/dist/node_modules/manifest-shared/dist/cjs/tiers.d.ts +0 -5
  289. package/dist/node_modules/manifest-shared/dist/cjs/tiers.d.ts.map +0 -1
  290. package/dist/node_modules/manifest-shared/dist/cjs/tiers.js +0 -17
  291. package/dist/node_modules/manifest-shared/dist/cjs/tiers.js.map +0 -1
  292. package/dist/node_modules/manifest-shared/dist/esm/api-key.d.ts +0 -2
  293. package/dist/node_modules/manifest-shared/dist/esm/api-key.d.ts.map +0 -1
  294. package/dist/node_modules/manifest-shared/dist/esm/api-key.js +0 -2
  295. package/dist/node_modules/manifest-shared/dist/esm/api-key.js.map +0 -1
  296. package/dist/node_modules/manifest-shared/dist/esm/auth-types.d.ts +0 -3
  297. package/dist/node_modules/manifest-shared/dist/esm/auth-types.d.ts.map +0 -1
  298. package/dist/node_modules/manifest-shared/dist/esm/auth-types.js +0 -2
  299. package/dist/node_modules/manifest-shared/dist/esm/auth-types.js.map +0 -1
  300. package/dist/node_modules/manifest-shared/dist/esm/index.d.ts +0 -10
  301. package/dist/node_modules/manifest-shared/dist/esm/index.d.ts.map +0 -1
  302. package/dist/node_modules/manifest-shared/dist/esm/index.js +0 -6
  303. package/dist/node_modules/manifest-shared/dist/esm/index.js.map +0 -1
  304. package/dist/node_modules/manifest-shared/dist/esm/provider-inference.d.ts +0 -8
  305. package/dist/node_modules/manifest-shared/dist/esm/provider-inference.d.ts.map +0 -1
  306. package/dist/node_modules/manifest-shared/dist/esm/provider-inference.js +0 -33
  307. package/dist/node_modules/manifest-shared/dist/esm/provider-inference.js.map +0 -1
  308. package/dist/node_modules/manifest-shared/dist/esm/resolve-response.d.ts +0 -12
  309. package/dist/node_modules/manifest-shared/dist/esm/resolve-response.d.ts.map +0 -1
  310. package/dist/node_modules/manifest-shared/dist/esm/resolve-response.js +0 -2
  311. package/dist/node_modules/manifest-shared/dist/esm/resolve-response.js.map +0 -1
  312. package/dist/node_modules/manifest-shared/dist/esm/subscription/configs.d.ts +0 -4
  313. package/dist/node_modules/manifest-shared/dist/esm/subscription/configs.d.ts.map +0 -1
  314. package/dist/node_modules/manifest-shared/dist/esm/subscription/configs.js +0 -77
  315. package/dist/node_modules/manifest-shared/dist/esm/subscription/configs.js.map +0 -1
  316. package/dist/node_modules/manifest-shared/dist/esm/subscription/helpers.d.ts +0 -6
  317. package/dist/node_modules/manifest-shared/dist/esm/subscription/helpers.d.ts.map +0 -1
  318. package/dist/node_modules/manifest-shared/dist/esm/subscription/helpers.js +0 -19
  319. package/dist/node_modules/manifest-shared/dist/esm/subscription/helpers.js.map +0 -1
  320. package/dist/node_modules/manifest-shared/dist/esm/subscription/index.d.ts +0 -4
  321. package/dist/node_modules/manifest-shared/dist/esm/subscription/index.d.ts.map +0 -1
  322. package/dist/node_modules/manifest-shared/dist/esm/subscription/index.js +0 -3
  323. package/dist/node_modules/manifest-shared/dist/esm/subscription/index.js.map +0 -1
  324. package/dist/node_modules/manifest-shared/dist/esm/subscription/types.d.ts +0 -17
  325. package/dist/node_modules/manifest-shared/dist/esm/subscription/types.d.ts.map +0 -1
  326. package/dist/node_modules/manifest-shared/dist/esm/subscription/types.js +0 -2
  327. package/dist/node_modules/manifest-shared/dist/esm/subscription/types.js.map +0 -1
  328. package/dist/node_modules/manifest-shared/dist/esm/tiers.d.ts +0 -5
  329. package/dist/node_modules/manifest-shared/dist/esm/tiers.d.ts.map +0 -1
  330. package/dist/node_modules/manifest-shared/dist/esm/tiers.js +0 -14
  331. package/dist/node_modules/manifest-shared/dist/esm/tiers.js.map +0 -1
  332. package/dist/node_modules/manifest-shared/package.json +0 -26
  333. package/dist/openclaw.plugin.json +0 -37
  334. package/dist/package.json +0 -94
  335. package/dist/server.d.ts +0 -8
  336. package/dist/server.js +0 -69
  337. package/openclaw.plugin.json +0 -37
  338. package/public/assets/Account-B_3C4z7e.js +0 -1
  339. package/public/assets/AuthBadge-Dj2KkXRW.js +0 -1
  340. package/public/assets/ConnectProvider-DxPYovG2.js +0 -1
  341. package/public/assets/CopyButton-BWMVlK2w.js +0 -1
  342. package/public/assets/FreeModels-BzNWxfZl.js +0 -1
  343. package/public/assets/Help-ifWIlcDo.js +0 -1
  344. package/public/assets/Limits-BLW0fW8j.js +0 -1
  345. package/public/assets/Login-DvUR0ri0.js +0 -1
  346. package/public/assets/MessageLog-BsuwgHos.js +0 -1
  347. package/public/assets/ModelPrices-8EpyI4cZ.js +0 -1
  348. package/public/assets/Overview-B2DQeTd2.js +0 -1
  349. package/public/assets/Pagination-D8BOkffh.js +0 -1
  350. package/public/assets/ProviderTokens-nv6wk29Y.js +0 -1
  351. package/public/assets/Register-WBrQ1E73.js +0 -1
  352. package/public/assets/ResetPassword-CWdklAXJ.js +0 -1
  353. package/public/assets/Routing-BqfY1unJ.js +0 -6
  354. package/public/assets/Settings-na6aYffS.js +0 -1
  355. package/public/assets/SetupStepAddProvider-CSNkQmoC.js +0 -3
  356. package/public/assets/SocialButtons-DG2BtKEz.js +0 -1
  357. package/public/assets/auth-Bcnz6mJV.js +0 -1
  358. package/public/assets/chart-utils-DTt1NOye.js +0 -1
  359. package/public/assets/charts-Cty976qB.js +0 -3
  360. package/public/assets/charts-Saz_VHki.css +0 -1
  361. package/public/assets/index-ByYwCwOa.js +0 -2
  362. package/public/assets/index-DhaXpWfr.css +0 -1
  363. package/public/assets/model-display-Bd0Zg5Lp.js +0 -1
  364. package/public/assets/overview-B6Wy_RSw.js +0 -1
  365. package/public/assets/overview-vZEzTjBP.css +0 -1
  366. package/public/assets/provider-api-key-urls-1G6okUJ7.js +0 -1
  367. package/public/assets/routing-UGVXjYdE.js +0 -1
  368. package/public/assets/routing-utils-BVCa9TKk.js +0 -1
  369. package/public/assets/vendor-C-Y5oNOq.js +0 -1
  370. package/public/example-messages.svg +0 -1
  371. package/public/example-overview.svg +0 -1
  372. package/public/favicon.ico +0 -0
  373. package/public/fonts/boxicons/boxicons-duotone.min.css +0 -37
  374. package/public/fonts/boxicons/boxicons-duotone.woff2 +0 -0
  375. package/public/fonts/bricolage-grotesque-latin.woff2 +0 -0
  376. package/public/fonts/dm-sans-latin.woff2 +0 -0
  377. package/public/fonts/jetbrains-mono-latin.woff2 +0 -0
  378. package/public/icons/caret-down.svg +0 -1
  379. package/public/icons/cohere.svg +0 -30
  380. package/public/icons/free.svg +0 -91
  381. package/public/icons/gemini.svg +0 -25
  382. package/public/icons/kilocode.jpg +0 -0
  383. package/public/icons/nvidia.svg +0 -1
  384. package/public/icons/providers/alibaba.svg +0 -1
  385. package/public/icons/providers/amazon.svg +0 -1
  386. package/public/icons/providers/anthropic.svg +0 -1
  387. package/public/icons/providers/cohere.svg +0 -1
  388. package/public/icons/providers/deepseek.svg +0 -1
  389. package/public/icons/providers/google.svg +0 -1
  390. package/public/icons/providers/meta.svg +0 -1
  391. package/public/icons/providers/mistral.svg +0 -1
  392. package/public/icons/providers/moonshot.svg +0 -1
  393. package/public/icons/providers/openai.svg +0 -1
  394. package/public/icons/providers/xai.svg +0 -1
  395. package/public/icons/providers/zhipu.svg +0 -1
  396. package/public/icons/qwen.svg +0 -1
  397. package/public/images/oauth-callback-example.mp4 +0 -0
  398. package/public/images/oauth-callback-example.png +0 -0
  399. package/public/index.html +0 -41
  400. package/public/logo-white.svg +0 -93
  401. package/public/logo.svg +0 -93
  402. package/public/logos/mailgun.svg +0 -13
  403. package/public/logos/resend.svg +0 -4
  404. package/public/logos/sendgrid.svg +0 -18
  405. package/public/manifest-logo.png +0 -0
  406. package/public/theme-init.js +0 -6
@@ -1,8 +0,0 @@
1
- /**
2
- * Infer a provider ID from a model name string.
3
- * This is the unified superset of all regex patterns from backend and frontend.
4
- */
5
- declare const MODEL_PREFIX_MAP: [RegExp, string][];
6
- export { MODEL_PREFIX_MAP };
7
- export declare function inferProviderFromModel(model: string): string | undefined;
8
- //# sourceMappingURL=provider-inference.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider-inference.d.ts","sourceRoot":"","sources":["../../src/provider-inference.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,QAAA,MAAM,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAcvC,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQxE"}
@@ -1,33 +0,0 @@
1
- /**
2
- * Infer a provider ID from a model name string.
3
- * This is the unified superset of all regex patterns from backend and frontend.
4
- */
5
- const MODEL_PREFIX_MAP = [
6
- [/^openrouter\//, 'openrouter'],
7
- [/^claude-/, 'anthropic'],
8
- [/^gpt-|^o[134]-|^o[134] |^chatgpt-/, 'openai'],
9
- [/^gemini-|^gemma-/, 'gemini'],
10
- [/^deepseek-/, 'deepseek'],
11
- [/^grok-/, 'xai'],
12
- [/^mistral-|^codestral|^pixtral|^open-mistral/, 'mistral'],
13
- [/^kimi-|^moonshot-/, 'moonshot'],
14
- [/^minimax-/i, 'minimax'],
15
- [/^glm-/, 'zai'],
16
- [/^qwen[23]|^qwq-/, 'qwen'],
17
- [/^copilot\//, 'copilot'],
18
- [/^[a-z][\w-]*\//, 'openrouter'],
19
- ];
20
- export { MODEL_PREFIX_MAP };
21
- export function inferProviderFromModel(model) {
22
- if (model.startsWith('custom:'))
23
- return 'custom';
24
- if (!model.includes('/') && /:/.test(model) && !model.endsWith(':free'))
25
- return 'ollama';
26
- const lower = model.toLowerCase();
27
- for (const [re, id] of MODEL_PREFIX_MAP) {
28
- if (re.test(lower))
29
- return id;
30
- }
31
- return undefined;
32
- }
33
- //# sourceMappingURL=provider-inference.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider-inference.js","sourceRoot":"","sources":["../../src/provider-inference.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,gBAAgB,GAAuB;IAC3C,CAAC,eAAe,EAAE,YAAY,CAAC;IAC/B,CAAC,UAAU,EAAE,WAAW,CAAC;IACzB,CAAC,mCAAmC,EAAE,QAAQ,CAAC;IAC/C,CAAC,kBAAkB,EAAE,QAAQ,CAAC;IAC9B,CAAC,YAAY,EAAE,UAAU,CAAC;IAC1B,CAAC,QAAQ,EAAE,KAAK,CAAC;IACjB,CAAC,6CAA6C,EAAE,SAAS,CAAC;IAC1D,CAAC,mBAAmB,EAAE,UAAU,CAAC;IACjC,CAAC,YAAY,EAAE,SAAS,CAAC;IACzB,CAAC,OAAO,EAAE,KAAK,CAAC;IAChB,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAC3B,CAAC,YAAY,EAAE,SAAS,CAAC;IACzB,CAAC,gBAAgB,EAAE,YAAY,CAAC;CACjC,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,QAAQ,CAAC;IACjD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,QAAQ,CAAC;IACzF,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACxC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,12 +0,0 @@
1
- import type { Tier } from './tiers';
2
- import type { AuthType } from './auth-types';
3
- export interface ResolveResponse {
4
- tier: Tier;
5
- model: string | null;
6
- provider: string | null;
7
- confidence: number;
8
- score: number;
9
- reason: string;
10
- auth_type?: AuthType;
11
- }
12
- //# sourceMappingURL=resolve-response.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve-response.d.ts","sourceRoot":"","sources":["../../src/resolve-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,QAAQ,CAAC;CACtB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=resolve-response.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve-response.js","sourceRoot":"","sources":["../../src/resolve-response.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- import type { SubscriptionProviderConfig } from './types';
2
- export declare const SUBSCRIPTION_PROVIDER_CONFIGS: Readonly<Record<string, Readonly<SubscriptionProviderConfig>>>;
3
- export declare const SUPPORTED_SUBSCRIPTION_PROVIDER_IDS: readonly string[];
4
- //# sourceMappingURL=configs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../../../src/subscription/configs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAE1D,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAClD,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,0BAA0B,CAAC,CAAC,CA2EpD,CAAC;AAEH,eAAO,MAAM,mCAAmC,EAAE,SAAS,MAAM,EAEhE,CAAC"}
@@ -1,77 +0,0 @@
1
- export const SUBSCRIPTION_PROVIDER_CONFIGS = Object.freeze({
2
- anthropic: Object.freeze({
3
- supportsSubscription: true,
4
- subscriptionLabel: 'Claude Max / Pro subscription',
5
- subscriptionAuthMode: 'token',
6
- subscriptionKeyPlaceholder: 'Paste your setup-token',
7
- subscriptionCommand: 'claude setup-token',
8
- subscriptionTokenPrefix: 'sk-ant-oat',
9
- knownModels: Object.freeze(['claude-opus-4', 'claude-sonnet-4', 'claude-haiku-4']),
10
- subscriptionCapabilities: Object.freeze({
11
- maxContextWindow: 200000,
12
- supportsPromptCaching: false,
13
- supportsBatching: false,
14
- }),
15
- }),
16
- openai: Object.freeze({
17
- supportsSubscription: true,
18
- subscriptionLabel: 'ChatGPT Plus/Pro/Team',
19
- subscriptionAuthMode: 'popup_oauth',
20
- subscriptionOAuth: true,
21
- knownModels: Object.freeze([
22
- 'gpt-5.4',
23
- 'gpt-5.3-codex',
24
- 'gpt-5.2-codex',
25
- 'gpt-5.2',
26
- 'gpt-5.1-codex-max',
27
- 'gpt-5.1-codex',
28
- ]),
29
- subscriptionCapabilities: Object.freeze({
30
- maxContextWindow: 200000,
31
- supportsPromptCaching: false,
32
- supportsBatching: false,
33
- }),
34
- }),
35
- minimax: Object.freeze({
36
- supportsSubscription: true,
37
- subscriptionLabel: 'MiniMax Coding Plan',
38
- subscriptionAuthMode: 'device_code',
39
- knownModels: Object.freeze([
40
- 'MiniMax-M2.5',
41
- 'MiniMax-M2.5-highspeed',
42
- 'MiniMax-M2.1',
43
- 'MiniMax-M2.1-highspeed',
44
- 'MiniMax-M2',
45
- ]),
46
- subscriptionCapabilities: Object.freeze({
47
- maxContextWindow: 200000,
48
- supportsPromptCaching: false,
49
- supportsBatching: false,
50
- }),
51
- }),
52
- copilot: Object.freeze({
53
- supportsSubscription: true,
54
- subscriptionLabel: 'GitHub Copilot subscription',
55
- subscriptionAuthMode: 'device_code',
56
- knownModels: Object.freeze([
57
- 'copilot/claude-opus-4.6',
58
- 'copilot/claude-sonnet-4.6',
59
- 'copilot/claude-haiku-4.5',
60
- 'copilot/gpt-5.4',
61
- 'copilot/gpt-5.2-codex',
62
- 'copilot/gpt-5-mini',
63
- 'copilot/gpt-4.1',
64
- 'copilot/gpt-4o',
65
- 'copilot/gpt-4o-mini',
66
- 'copilot/gemini-3.1-pro-preview',
67
- 'copilot/grok-code-fast-1',
68
- ]),
69
- subscriptionCapabilities: Object.freeze({
70
- maxContextWindow: 200000,
71
- supportsPromptCaching: false,
72
- supportsBatching: false,
73
- }),
74
- }),
75
- });
76
- export const SUPPORTED_SUBSCRIPTION_PROVIDER_IDS = Object.freeze(Object.keys(SUBSCRIPTION_PROVIDER_CONFIGS));
77
- //# sourceMappingURL=configs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configs.js","sourceRoot":"","sources":["../../../src/subscription/configs.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,6BAA6B,GAEtC,MAAM,CAAC,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;QACvB,oBAAoB,EAAE,IAAa;QACnC,iBAAiB,EAAE,+BAA+B;QAClD,oBAAoB,EAAE,OAAgB;QACtC,0BAA0B,EAAE,wBAAwB;QACpD,mBAAmB,EAAE,oBAAoB;QACzC,uBAAuB,EAAE,YAAY;QACrC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;QAClF,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC;YACtC,gBAAgB,EAAE,MAAM;YACxB,qBAAqB,EAAE,KAAK;YAC5B,gBAAgB,EAAE,KAAK;SACxB,CAAC;KACH,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACpB,oBAAoB,EAAE,IAAa;QACnC,iBAAiB,EAAE,uBAAuB;QAC1C,oBAAoB,EAAE,aAAsB;QAC5C,iBAAiB,EAAE,IAAI;QACvB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC;YACzB,SAAS;YACT,eAAe;YACf,eAAe;YACf,SAAS;YACT,mBAAmB;YACnB,eAAe;SAChB,CAAC;QACF,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC;YACtC,gBAAgB,EAAE,MAAM;YACxB,qBAAqB,EAAE,KAAK;YAC5B,gBAAgB,EAAE,KAAK;SACxB,CAAC;KACH,CAAC;IACF,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,oBAAoB,EAAE,IAAa;QACnC,iBAAiB,EAAE,qBAAqB;QACxC,oBAAoB,EAAE,aAAsB;QAC5C,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC;YACzB,cAAc;YACd,wBAAwB;YACxB,cAAc;YACd,wBAAwB;YACxB,YAAY;SACb,CAAC;QACF,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC;YACtC,gBAAgB,EAAE,MAAM;YACxB,qBAAqB,EAAE,KAAK;YAC5B,gBAAgB,EAAE,KAAK;SACxB,CAAC;KACH,CAAC;IACF,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,oBAAoB,EAAE,IAAa;QACnC,iBAAiB,EAAE,6BAA6B;QAChD,oBAAoB,EAAE,aAAsB;QAC5C,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC;YACzB,yBAAyB;YACzB,2BAA2B;YAC3B,0BAA0B;YAC1B,iBAAiB;YACjB,uBAAuB;YACvB,oBAAoB;YACpB,iBAAiB;YACjB,gBAAgB;YAChB,qBAAqB;YACrB,gCAAgC;YAChC,0BAA0B;SAC3B,CAAC;QACF,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC;YACtC,gBAAgB,EAAE,MAAM;YACxB,qBAAqB,EAAE,KAAK;YAC5B,gBAAgB,EAAE,KAAK;SACxB,CAAC;KACH,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mCAAmC,GAAsB,MAAM,CAAC,MAAM,CACjF,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAC3C,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { SubscriptionCapabilities, SubscriptionProviderConfig } from './types';
2
- export declare function getSubscriptionProviderConfig(providerId: string): Readonly<SubscriptionProviderConfig> | null;
3
- export declare function supportsSubscriptionProvider(providerId: string): boolean;
4
- export declare function getSubscriptionKnownModels(providerId: string): readonly string[] | null;
5
- export declare function getSubscriptionCapabilities(providerId: string): Readonly<SubscriptionCapabilities> | null;
6
- //# sourceMappingURL=helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/subscription/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAOpF,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,MAAM,GACjB,QAAQ,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAM7C;AAED,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAExE;AAED,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAGvF;AAED,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,MAAM,GACjB,QAAQ,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAG3C"}
@@ -1,19 +0,0 @@
1
- import { SUBSCRIPTION_PROVIDER_CONFIGS } from './configs';
2
- function normalizeProviderId(providerId) {
3
- return String(providerId || '').toLowerCase();
4
- }
5
- export function getSubscriptionProviderConfig(providerId) {
6
- return (SUBSCRIPTION_PROVIDER_CONFIGS[normalizeProviderId(providerId)] ?? null);
7
- }
8
- export function supportsSubscriptionProvider(providerId) {
9
- return getSubscriptionProviderConfig(providerId) !== null;
10
- }
11
- export function getSubscriptionKnownModels(providerId) {
12
- const config = getSubscriptionProviderConfig(providerId);
13
- return config?.knownModels ?? null;
14
- }
15
- export function getSubscriptionCapabilities(providerId) {
16
- const config = getSubscriptionProviderConfig(providerId);
17
- return config?.subscriptionCapabilities ?? null;
18
- }
19
- //# sourceMappingURL=helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/subscription/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAE1D,SAAS,mBAAmB,CAAC,UAAkB;IAC7C,OAAO,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,UAAkB;IAElB,OAAO,CACL,6BAA6B,CAC3B,mBAAmB,CAAC,UAAU,CAA+C,CAC9E,IAAI,IAAI,CACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,UAAkB;IAC7D,OAAO,6BAA6B,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,UAAkB;IAC3D,MAAM,MAAM,GAAG,6BAA6B,CAAC,UAAU,CAAC,CAAC;IACzD,OAAO,MAAM,EAAE,WAAW,IAAI,IAAI,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,UAAkB;IAElB,MAAM,MAAM,GAAG,6BAA6B,CAAC,UAAU,CAAC,CAAC;IACzD,OAAO,MAAM,EAAE,wBAAwB,IAAI,IAAI,CAAC;AAClD,CAAC"}
@@ -1,4 +0,0 @@
1
- export type { SubscriptionCapabilities, SubscriptionProviderConfig } from './types';
2
- export { SUBSCRIPTION_PROVIDER_CONFIGS, SUPPORTED_SUBSCRIPTION_PROVIDER_IDS } from './configs';
3
- export { getSubscriptionProviderConfig, supportsSubscriptionProvider, getSubscriptionKnownModels, getSubscriptionCapabilities, } from './helpers';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/subscription/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AACpF,OAAO,EAAE,6BAA6B,EAAE,mCAAmC,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,WAAW,CAAC"}
@@ -1,3 +0,0 @@
1
- export { SUBSCRIPTION_PROVIDER_CONFIGS, SUPPORTED_SUBSCRIPTION_PROVIDER_IDS } from './configs';
2
- export { getSubscriptionProviderConfig, supportsSubscriptionProvider, getSubscriptionKnownModels, getSubscriptionCapabilities, } from './helpers';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/subscription/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,mCAAmC,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,WAAW,CAAC"}
@@ -1,17 +0,0 @@
1
- export interface SubscriptionCapabilities {
2
- maxContextWindow: number;
3
- supportsPromptCaching: boolean;
4
- supportsBatching: boolean;
5
- }
6
- export interface SubscriptionProviderConfig {
7
- supportsSubscription: true;
8
- subscriptionLabel: string;
9
- subscriptionKeyPlaceholder?: string;
10
- subscriptionCommand?: string;
11
- subscriptionAuthMode?: 'popup_oauth' | 'device_code' | 'token';
12
- subscriptionTokenPrefix?: string;
13
- subscriptionOAuth?: boolean;
14
- knownModels?: readonly string[];
15
- subscriptionCapabilities?: Readonly<SubscriptionCapabilities>;
16
- }
17
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/subscription/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,0BAA0B;IACzC,oBAAoB,EAAE,IAAI,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,aAAa,GAAG,aAAa,GAAG,OAAO,CAAC;IAC/D,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,wBAAwB,CAAC,CAAC;CAC/D"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/subscription/types.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- export declare const TIERS: readonly ["simple", "standard", "complex", "reasoning"];
2
- export type Tier = (typeof TIERS)[number];
3
- export declare const TIER_LABELS: Readonly<Record<Tier, string>>;
4
- export declare const TIER_DESCRIPTIONS: Readonly<Record<Tier, string>>;
5
- //# sourceMappingURL=tiers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tiers.d.ts","sourceRoot":"","sources":["../../src/tiers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,yDAA0D,CAAC;AAC7E,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1C,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAKtD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAK5D,CAAC"}
@@ -1,14 +0,0 @@
1
- export const TIERS = ['simple', 'standard', 'complex', 'reasoning'];
2
- export const TIER_LABELS = {
3
- simple: 'Simple',
4
- standard: 'Standard',
5
- complex: 'Complex',
6
- reasoning: 'Reasoning',
7
- };
8
- export const TIER_DESCRIPTIONS = {
9
- simple: 'Heartbeats, greetings, and low-cost tasks that any model can handle.',
10
- standard: 'General-purpose requests that need a good balance of quality and cost.',
11
- complex: 'Tasks requiring high quality, nuance, or multi-step reasoning.',
12
- reasoning: 'Advanced reasoning, planning, and critical decision-making.',
13
- };
14
- //# sourceMappingURL=tiers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tiers.js","sourceRoot":"","sources":["../../src/tiers.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAU,CAAC;AAG7E,MAAM,CAAC,MAAM,WAAW,GAAmC;IACzD,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAmC;IAC/D,MAAM,EAAE,sEAAsE;IAC9E,QAAQ,EAAE,wEAAwE;IAClF,OAAO,EAAE,gEAAgE;IACzE,SAAS,EAAE,6DAA6D;CACzE,CAAC"}
@@ -1,26 +0,0 @@
1
- {
2
- "name": "manifest-shared",
3
- "version": "0.1.0",
4
- "private": true,
5
- "main": "dist/cjs/index.js",
6
- "module": "dist/esm/index.js",
7
- "types": "dist/cjs/index.d.ts",
8
- "exports": {
9
- ".": {
10
- "types": "./dist/cjs/index.d.ts",
11
- "import": "./dist/esm/index.js",
12
- "require": "./dist/cjs/index.js",
13
- "default": "./dist/cjs/index.js"
14
- }
15
- },
16
- "scripts": {
17
- "build": "tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json",
18
- "test": "jest"
19
- },
20
- "devDependencies": {
21
- "@types/jest": "^29.5.14",
22
- "jest": "^29.7.0",
23
- "ts-jest": "^29.2.6",
24
- "typescript": "^5.7.3"
25
- }
26
- }
@@ -1,37 +0,0 @@
1
- {
2
- "id": "manifest",
3
- "name": "Manifest Self-Hosted LLM Router",
4
- "version": "5.45.0",
5
- "description": "Run the Manifest LLM router locally with SQLite. Zero-config dashboard included.",
6
- "author": "MNFST Inc.",
7
- "homepage": "https://manifest.build",
8
- "providers": [
9
- "manifest"
10
- ],
11
- "configSchema": {
12
- "type": "object",
13
- "additionalProperties": false,
14
- "properties": {
15
- "port": {
16
- "type": "integer",
17
- "default": 2099,
18
- "minimum": 1,
19
- "maximum": 65535,
20
- "description": "Port for the local embedded server."
21
- },
22
- "host": {
23
- "type": "string",
24
- "default": "127.0.0.1",
25
- "description": "Bind address for the local embedded server."
26
- }
27
- }
28
- },
29
- "uiHints": {
30
- "port": {
31
- "label": "Server Port"
32
- },
33
- "host": {
34
- "label": "Bind Address"
35
- }
36
- }
37
- }
package/dist/package.json DELETED
@@ -1,94 +0,0 @@
1
- {
2
- "name": "manifest-backend",
3
- "version": "0.1.0",
4
- "private": true,
5
- "scripts": {
6
- "build": "rm -f tsconfig.build.tsbuildinfo && nest build",
7
- "start": "node dist/main",
8
- "start:dev": "nest start --watch",
9
- "start:prod": "node dist/main",
10
- "test": "jest",
11
- "test:watch": "jest --watch",
12
- "test:e2e": "jest --config ./test/jest-e2e.json --runInBand",
13
- "lint": "eslint src/",
14
- "migration:generate": "typeorm-ts-node-commonjs migration:generate -d src/database/datasource.ts",
15
- "migration:run": "typeorm-ts-node-commonjs migration:run -d src/database/datasource.ts",
16
- "migration:revert": "typeorm-ts-node-commonjs migration:revert -d src/database/datasource.ts",
17
- "migration:show": "typeorm-ts-node-commonjs migration:show -d src/database/datasource.ts",
18
- "migration:create": "typeorm-ts-node-commonjs migration:create"
19
- },
20
- "dependencies": {
21
- "manifest-shared": "*",
22
- "@nestjs/cache-manager": "^3.1.0",
23
- "@nestjs/common": "^11.0.0",
24
- "@nestjs/config": "^4.0.0",
25
- "@nestjs/core": "^11.0.0",
26
- "@nestjs/platform-express": "^11.0.0",
27
- "@nestjs/schedule": "^6.1.1",
28
- "@nestjs/serve-static": "^5.0.4",
29
- "@nestjs/throttler": "^6.0.0",
30
- "@nestjs/typeorm": "^11.0.0",
31
- "@react-email/components": "^1.0.7",
32
- "@react-email/render": "^2.0.4",
33
- "@types/compression": "^1.8.1",
34
- "better-auth": "^1.4.18",
35
- "cache-manager": "^7.2.8",
36
- "class-transformer": "^0.5.1",
37
- "class-validator": "^0.14.0",
38
- "compression": "^1.8.1",
39
- "express-rate-limit": "^8.3.1",
40
- "helmet": "^8.1.0",
41
- "pg": "^8.13.0",
42
- "react": "^19.2.4",
43
- "react-dom": "^19.2.4",
44
- "reflect-metadata": "^0.2.0",
45
- "rxjs": "^7.8.0",
46
- "sql.js": "^1.12.0",
47
- "typeorm": "^0.3.0",
48
- "uuid": "^11.0.0"
49
- },
50
- "devDependencies": {
51
- "@nestjs/cli": "^11.0.0",
52
- "@nestjs/schematics": "^11.0.0",
53
- "@nestjs/testing": "^11.0.0",
54
- "@types/express": "^5.0.6",
55
- "@types/helmet": "^0.0.48",
56
- "@types/jest": "^29.5.0",
57
- "@types/node": "^22.0.0",
58
- "@types/pg": "^8.16.0",
59
- "@types/react": "^19.2.14",
60
- "@types/react-dom": "^19.2.3",
61
- "@types/supertest": "^6.0.0",
62
- "@types/uuid": "^10.0.0",
63
- "jest": "^29.7.0",
64
- "supertest": "^7.0.0",
65
- "ts-jest": "^29.2.0",
66
- "ts-node": "^10.9.2",
67
- "typescript": "^5.7.0"
68
- },
69
- "jest": {
70
- "moduleFileExtensions": [
71
- "js",
72
- "json",
73
- "ts",
74
- "tsx"
75
- ],
76
- "rootDir": "src",
77
- "testRegex": ".*\\.spec\\.ts$",
78
- "transform": {
79
- "^.+\\.tsx?$": "ts-jest"
80
- },
81
- "collectCoverageFrom": [
82
- "**/*.ts",
83
- "!**/*.spec.ts",
84
- "!main.ts",
85
- "!**/database/migrations/**",
86
- "!**/database/datasource.ts",
87
- "!**/*.module.ts",
88
- "!**/otlp/interfaces/index.ts",
89
- "!**/otlp/proto/**"
90
- ],
91
- "coverageDirectory": "../coverage",
92
- "testEnvironment": "node"
93
- }
94
- }
package/dist/server.d.ts DELETED
@@ -1,8 +0,0 @@
1
- export declare const version: string;
2
- interface StartOptions {
3
- port?: number;
4
- host?: string;
5
- dbPath?: string;
6
- }
7
- export declare function start(options?: StartOptions): Promise<unknown>;
8
- export {};
package/dist/server.js DELETED
@@ -1,69 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.version = void 0;
37
- exports.start = start;
38
- const path_1 = require("path");
39
- const os_1 = require("os");
40
- const fs_1 = require("fs");
41
- const pkg = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, '..', 'package.json'), 'utf-8'));
42
- exports.version = pkg.version;
43
- const LOCAL_DEFAULT_PORT = 2099;
44
- // Dynamic path prevents tsc from resolving at compile time;
45
- // the backend dist is copied into dist/backend/ at build time.
46
- const BACKEND_DIR = './backend';
47
- async function start(options = {}) {
48
- const port = options.port ?? LOCAL_DEFAULT_PORT;
49
- const host = options.host ?? '127.0.0.1';
50
- const dbPath = options.dbPath ?? (0, path_1.join)((0, os_1.homedir)(), '.openclaw', 'manifest', 'manifest.db');
51
- // Set environment before importing the backend (it reads env at import time)
52
- process.env['MANIFEST_PACKAGE_VERSION'] = exports.version;
53
- process.env['MANIFEST_MODE'] = 'local';
54
- process.env['MANIFEST_EMBEDDED'] = '1';
55
- process.env['PORT'] = String(port);
56
- process.env['BIND_ADDRESS'] = host;
57
- process.env['MANIFEST_DB_PATH'] = dbPath;
58
- process.env['NODE_ENV'] = 'production';
59
- process.env['MANIFEST_FRONTEND_DIR'] = (0, path_1.join)(__dirname, '..', 'public');
60
- // Generate a random persistent secret for local mode
61
- if (!process.env['BETTER_AUTH_SECRET']) {
62
- // eslint-disable-next-line @typescript-eslint/no-require-imports
63
- const constants = require((0, path_1.join)(__dirname, BACKEND_DIR, 'common', 'constants', 'local-mode.constants'));
64
- process.env['BETTER_AUTH_SECRET'] = constants.getLocalAuthSecret();
65
- }
66
- const backendMain = await Promise.resolve(`${(0, path_1.join)(__dirname, BACKEND_DIR, 'main')}`).then(s => __importStar(require(s)));
67
- const app = await backendMain.bootstrap();
68
- return app;
69
- }
@@ -1,37 +0,0 @@
1
- {
2
- "id": "manifest",
3
- "name": "Manifest Self-Hosted LLM Router",
4
- "version": "5.45.0",
5
- "description": "Run the Manifest LLM router locally with SQLite. Zero-config dashboard included.",
6
- "author": "MNFST Inc.",
7
- "homepage": "https://manifest.build",
8
- "providers": [
9
- "manifest"
10
- ],
11
- "configSchema": {
12
- "type": "object",
13
- "additionalProperties": false,
14
- "properties": {
15
- "port": {
16
- "type": "integer",
17
- "default": 2099,
18
- "minimum": 1,
19
- "maximum": 65535,
20
- "description": "Port for the local embedded server."
21
- },
22
- "host": {
23
- "type": "string",
24
- "default": "127.0.0.1",
25
- "description": "Bind address for the local embedded server."
26
- }
27
- }
28
- },
29
- "uiHints": {
30
- "port": {
31
- "label": "Server Port"
32
- },
33
- "host": {
34
- "label": "Bind Address"
35
- }
36
- }
37
- }
@@ -1 +0,0 @@
1
- import{b as H,a as b,e as R,i as c,g as h,T as V,M as W,h as d,m as Z,s as F,S as L,t as r,d as G}from"./vendor-C-Y5oNOq.js";import{s as J,u as K,v as O,d as E,w as D}from"./index-ByYwCwOa.js";import"./auth-Bcnz6mJV.js";var Q=r("<h3 class=settings-section__title>Profile information"),X=r('<div class=settings-card><div class=settings-card__row><div class=settings-card__label><span class=settings-card__label-title>Display name</span><span class=settings-card__label-desc>Name shown throughout the dashboard.</span></div><div class=settings-card__control><input class=settings-card__input type=text aria-label="Display name"readonly></div></div><div class=settings-card__row><div class=settings-card__label><span class=settings-card__label-title>Email</span><span class=settings-card__label-desc>Used for account notifications and limit alerts.</span></div><div class=settings-card__control><input class=settings-card__input type=email aria-label=Email readonly></div></div><div class=settings-card__footer><span style=font-size:var(--font-size-xs);color:hsl(var(--muted-foreground))>Profile information is managed through your authentication provider.'),ee=r("<h3 class=settings-section__title>Workspace"),te=r("<div class=settings-card><div class=settings-card__body><p class=settings-card__desc>Your unique workspace identifier. You may need this for support requests or advanced integrations.</p><div class=settings-card__id-row><code class=settings-card__id-value></code><button class=settings-card__copy-btn title=Copy>"),se=r("<h3 class=settings-section__title>Profile"),ie=r('<div class=settings-card><div class=settings-card__row><div class=settings-card__label><span class=settings-card__label-title>Display name</span><span class=settings-card__label-desc>Name shown throughout the dashboard.</span></div><div class=settings-card__control><input class=settings-card__input type=text aria-label="Display name"placeholder="Local User">'),ae=r('<div class=account-modal><div class=account-modal__inner><button class=account-modal__back><svg width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round aria-hidden=true><path d="m15 18-6-6 6-6"></path></svg>Back</button><div class=page-header><div><h1>Account Preferences</h1><span class=breadcrumb>Your profile, workspace details, and display preferences</span></div></div><h3 class=settings-section__title>Appearance</h3><div class=settings-card><div class=settings-card__body><p class=settings-card__desc>Choose how Manifest looks for you.</p><div class=theme-picker><button class=theme-picker__option><svg width=18 height=18 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round aria-hidden=true><circle cx=12 cy=12 r=4></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg>Light</button><button class=theme-picker__option><svg width=18 height=18 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round aria-hidden=true><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg>Dark</button><button class=theme-picker__option><svg width=18 height=18 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round aria-hidden=true><rect x=2 y=3 width=20 height=14 rx=2></rect><path d="M8 21h8"></path><path d="M12 17v4"></path></svg>System'),re=r('<svg width=14 height=14 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round aria-hidden=true><polyline points="20 6 9 17 4 12">'),le=r('<svg width=14 height=14 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round aria-hidden=true><rect x=9 y=9 width=13 height=13 rx=2></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">');const de=()=>{const N=H(),p=J.useSession(),[w,y]=b(!1),[_,g]=b("system"),[u,C]=b(""),T=()=>p()?.data?.user?.name??"",B=()=>p()?.data?.user?.email??"",x=()=>p()?.data?.user?.id??"";R(()=>{K(),C(O()||"Local User");const t=localStorage.getItem("theme");g(t==="dark"||t==="light"?t:"system")});const m=t=>{if(g(t),t==="system"){localStorage.removeItem("theme");const o=window.matchMedia("(prefers-color-scheme: dark)").matches;document.documentElement.classList.toggle("dark",o)}else localStorage.setItem("theme",t),document.documentElement.classList.toggle("dark",t==="dark")},j=()=>{navigator.clipboard.writeText(x()),y(!0),setTimeout(()=>y(!1),2e3)};return(()=>{var t=ae(),o=t.firstChild,S=o.firstChild,I=S.nextSibling,v=I.nextSibling,A=v.nextSibling,P=A.firstChild,U=P.firstChild,Y=U.nextSibling,k=Y.firstChild,f=k.nextSibling,M=f.nextSibling;return c(t,h(V,{children:"Account Preferences - Manifest"}),o),c(t,h(W,{name:"description",content:"Manage your profile, workspace, and theme preferences."}),o),S.$$click=()=>N(-1),c(o,h(L,{get when(){return!E()},get children(){return[Q(),(()=>{var e=X(),i=e.firstChild,l=i.firstChild,n=l.nextSibling,a=n.firstChild,s=i.nextSibling,$=s.firstChild,q=$.nextSibling,z=q.firstChild;return d(()=>a.value=T()),d(()=>z.value=B()),e})(),ee(),(()=>{var e=te(),i=e.firstChild,l=i.firstChild,n=l.nextSibling,a=n.firstChild,s=a.nextSibling;return c(a,x),s.$$click=j,c(s,(()=>{var $=Z(()=>!!w());return()=>$()?re():le()})()),d(()=>F(s,"aria-label",w()?"Copied":"Copy workspace ID")),e})()]}}),v),c(o,h(L,{get when(){return E()},get children(){return[se(),(()=>{var e=ie(),i=e.firstChild,l=i.firstChild,n=l.nextSibling,a=n.firstChild;return a.$$keydown=s=>{s.key==="Enter"&&(D(u()),s.currentTarget.blur())},a.addEventListener("blur",()=>D(u())),a.$$input=s=>C(s.currentTarget.value),d(()=>a.value=u()),e})()]}}),v),k.$$click=()=>m("light"),f.$$click=()=>m("dark"),M.$$click=()=>m("system"),d(e=>{var i=_()==="light",l=_()==="dark",n=_()==="system";return i!==e.e&&k.classList.toggle("theme-picker__option--active",e.e=i),l!==e.t&&f.classList.toggle("theme-picker__option--active",e.t=l),n!==e.a&&M.classList.toggle("theme-picker__option--active",e.a=n),e},{e:void 0,t:void 0,a:void 0}),t})()};G(["click","input","keydown"]);export{de as default};
@@ -1 +0,0 @@
1
- import{q as l,z as a,i as u,t as o,s as i}from"./vendor-C-Y5oNOq.js";var p=o('<svg viewBox="2 1 20 22"fill=none stroke=currentColor stroke-width=3 stroke-linecap=round stroke-linejoin=round aria-hidden=true><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx=12 cy=7 r=4>'),d=o('<svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=3 stroke-linecap=round stroke-linejoin=round aria-hidden=true><path d="m21 2-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0 3 3L22 7l-3-3m-3.5 3.5L19 4">'),s=o("<span aria-label=Subscription>"),h=o('<span aria-label="API Key">');const c=e=>(()=>{var r=p();return i(r,"width",e),i(r,"height",e),r})(),v=e=>(()=>{var r=d();return i(r,"width",e),i(r,"height",e),r})();function $(e){return e==="subscription"?"Subscription":"API Key"}function m(e,r){const n=r<=8?" provider-auth-badge--overlay":"";return e==="subscription"?(()=>{var t=s();return l(t,`provider-auth-badge provider-auth-badge--sub${n}`),a(t,"width",`${r}px`),a(t,"height",`${r}px`),u(t,()=>c(r*.58)),t})():e==="api_key"?(()=>{var t=h();return l(t,`provider-auth-badge provider-auth-badge--key${n}`),a(t,"width",`${r}px`),a(t,"height",`${r}px`),u(t,()=>v(r*.58)),t})():null}export{m as a,$ as b};
@@ -1 +0,0 @@
1
- import{b as _,D as $,a as b,k as w,i as c,g as u,F as S,m as C,S as y,t as g,d as A}from"./vendor-C-Y5oNOq.js";import{x as k,y as U,n as P}from"./index-ByYwCwOa.js";import"./auth-Bcnz6mJV.js";var K=g('<div class=panel style="max-width:440px;margin:0 auto;padding:32px"><h2 style="margin:0 0 8px">Select an agent</h2><p style="color:hsl(var(--muted-foreground));font-size:var(--font-size-sm);margin:0 0 24px">Which agent should this provider be added to?</p><div style=display:flex;flex-direction:column;gap:8px>'),R=g("<div style=display:flex;align-items:center;justify-content:center;min-height:200px><span class=spinner role=status aria-label=Loading style=width:24px;height:24px>"),j=g("<div class=container--sm style=padding-top:80px>"),z=g('<button class="btn btn--outline"style=justify-content:flex-start;text-align:left>');const D=()=>{const p=_(),[s]=$(),[f,h]=b(!1),r=t=>Array.isArray(t)?t[0]:t,m=t=>{const e=new URLSearchParams,d=r(s.provider)||"custom";e.set("provider",d);const i=r(s.name),o=r(s.baseUrl),a=r(s.apiKey),n=r(s.models);return i&&e.set("name",i),o&&e.set("baseUrl",o),a&&e.set("apiKey",a),n&&e.set("models",n),`/agents/${encodeURIComponent(t)}/routing?${e.toString()}`},x=async()=>{h(!0);try{const e=(await U("my-agent"))?.agent?.name??"my-agent";P(e),p(m(e),{replace:!0})}catch{h(!1)}},[l]=w(async()=>{const e=(await k())?.agents??[];return e.length===1&&e[0]?p(m(e[0].agent_name),{replace:!0}):e.length===0&&await x(),e}),v=t=>{p(m(t),{replace:!0})};return(()=>{var t=j();return c(t,u(y,{get when(){return C(()=>!l.loading)()&&(l()?.length??0)>1},get children(){var e=K(),d=e.firstChild,i=d.nextSibling,o=i.nextSibling;return c(o,u(S,{get each(){return l()},children:a=>(()=>{var n=z();return n.$$click=()=>v(a.agent_name),c(n,()=>a.display_name??a.agent_name),n})()})),e}}),null),c(t,u(y,{get when(){return l.loading||f()||(l()?.length??0)<=1},get children(){return R()}}),null),t})()};A(["click"]);export{D as default};
@@ -1 +0,0 @@
1
- import{a as o,i as d,m as p,h,s as u,t,d as m}from"./vendor-C-Y5oNOq.js";var f=t("<button class=modal-terminal__copy title=Copy>"),y=t('<svg width=14 height=14 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 aria-hidden=true><polyline points="20 6 9 17 4 12">'),v=t('<svg width=14 height=14 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 aria-hidden=true><rect x=9 y=9 width=13 height=13 rx=2 ry=2></rect><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1">');const w=s=>{const[a,r]=o(!1),[l,i]=o(!1),n=async()=>{try{await navigator.clipboard.writeText(s.text),r(!0),setTimeout(()=>r(!1),2e3)}catch{i(!0),setTimeout(()=>i(!1),2e3)}};return(()=>{var e=f();return e.$$click=n,d(e,(()=>{var c=p(()=>!!a());return()=>c()?y():v()})()),h(()=>u(e,"aria-label",a()?"Copied":l()?"Copy failed":"Copy to clipboard")),e})()};m(["click"]);export{w as C};