manifest 5.45.1 → 7.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 (414) hide show
  1. package/CONTRACT.md +50 -0
  2. package/README.md +47 -101
  3. package/dist/chunk-DP2C4E42.js +720 -0
  4. package/dist/index.cjs +757 -0
  5. package/dist/index.d.cts +20 -0
  6. package/dist/index.d.ts +20 -0
  7. package/dist/index.js +8 -18
  8. package/dist/register.cjs +742 -0
  9. package/dist/register.d.cts +2 -0
  10. package/dist/register.d.ts +2 -0
  11. package/dist/register.js +6 -0
  12. package/docs/guide.md +94 -0
  13. package/docs/healing-diagram.svg +549 -0
  14. package/package.json +50 -79
  15. package/dist/backend/analytics/analytics.module.js +0 -60
  16. package/dist/backend/analytics/controllers/agent-analytics.controller.js +0 -69
  17. package/dist/backend/analytics/controllers/agents.controller.js +0 -176
  18. package/dist/backend/analytics/controllers/costs.controller.js +0 -71
  19. package/dist/backend/analytics/controllers/messages.controller.js +0 -67
  20. package/dist/backend/analytics/controllers/overview.controller.js +0 -104
  21. package/dist/backend/analytics/controllers/tokens.controller.js +0 -74
  22. package/dist/backend/analytics/dto/messages-query.dto.js +0 -73
  23. package/dist/backend/analytics/services/agent-analytics.service.js +0 -125
  24. package/dist/backend/analytics/services/agent-lifecycle.service.js +0 -102
  25. package/dist/backend/analytics/services/aggregation.service.js +0 -205
  26. package/dist/backend/analytics/services/message-details.service.js +0 -147
  27. package/dist/backend/analytics/services/messages-query.service.js +0 -197
  28. package/dist/backend/analytics/services/query-helpers.js +0 -45
  29. package/dist/backend/analytics/services/timeseries-queries.service.js +0 -237
  30. package/dist/backend/app.module.js +0 -94
  31. package/dist/backend/auth/auth.instance.js +0 -121
  32. package/dist/backend/auth/auth.module.js +0 -17
  33. package/dist/backend/auth/current-user.decorator.js +0 -9
  34. package/dist/backend/auth/local-auth.guard.js +0 -51
  35. package/dist/backend/auth/session.guard.js +0 -57
  36. package/dist/backend/common/common.module.js +0 -41
  37. package/dist/backend/common/constants/api-key.constants.js +0 -6
  38. package/dist/backend/common/constants/cache.constants.js +0 -8
  39. package/dist/backend/common/constants/local-mode.constants.js +0 -102
  40. package/dist/backend/common/constants/ollama.js +0 -5
  41. package/dist/backend/common/constants/providers.js +0 -134
  42. package/dist/backend/common/decorators/public.decorator.js +0 -8
  43. package/dist/backend/common/dto/create-agent.dto.js +0 -26
  44. package/dist/backend/common/dto/range-query.dto.js +0 -29
  45. package/dist/backend/common/dto/rename-agent.dto.js +0 -26
  46. package/dist/backend/common/filters/spa-fallback.filter.js +0 -46
  47. package/dist/backend/common/guards/api-key.guard.js +0 -89
  48. package/dist/backend/common/interceptors/agent-cache.interceptor.js +0 -39
  49. package/dist/backend/common/interceptors/user-cache.interceptor.js +0 -39
  50. package/dist/backend/common/middleware/http-error-logger.middleware.js +0 -19
  51. package/dist/backend/common/services/ingest-event-bus.service.js +0 -44
  52. package/dist/backend/common/services/manifest-runtime.service.js +0 -39
  53. package/dist/backend/common/services/tenant-cache.service.js +0 -56
  54. package/dist/backend/common/utils/anthropic-model-id.js +0 -36
  55. package/dist/backend/common/utils/cost-calculator.js +0 -19
  56. package/dist/backend/common/utils/crypto.util.js +0 -72
  57. package/dist/backend/common/utils/frontend-path.js +0 -21
  58. package/dist/backend/common/utils/hash.util.js +0 -32
  59. package/dist/backend/common/utils/local-ip.js +0 -33
  60. package/dist/backend/common/utils/period.util.js +0 -55
  61. package/dist/backend/common/utils/provider-aliases.js +0 -13
  62. package/dist/backend/common/utils/provider-inference.js +0 -7
  63. package/dist/backend/common/utils/range.util.js +0 -29
  64. package/dist/backend/common/utils/slugify.js +0 -13
  65. package/dist/backend/common/utils/sql-dialect.js +0 -71
  66. package/dist/backend/common/utils/subscription-support.js +0 -12
  67. package/dist/backend/common/utils/ttl-cache.js +0 -59
  68. package/dist/backend/common/utils/url-validation.js +0 -107
  69. package/dist/backend/config/app.config.js +0 -48
  70. package/dist/backend/database/database-seeder.service.js +0 -180
  71. package/dist/backend/database/database.module.js +0 -201
  72. package/dist/backend/database/datasource.js +0 -28
  73. package/dist/backend/database/local-bootstrap.service.js +0 -161
  74. package/dist/backend/database/migrations/1771464895790-InitialSchema.js +0 -91
  75. package/dist/backend/database/migrations/1771500000000-HashApiKeys.js +0 -67
  76. package/dist/backend/database/migrations/1771600000000-AddModelCapabilities.js +0 -27
  77. package/dist/backend/database/migrations/1771600000000-ModelPricingImprovements.js +0 -60
  78. package/dist/backend/database/migrations/1771700000000-AddRoutingTables.js +0 -50
  79. package/dist/backend/database/migrations/1771700000000-EmailProviderConfigs.js +0 -31
  80. package/dist/backend/database/migrations/1771800000000-AddNotificationEmailAndOptionalDomain.js +0 -16
  81. package/dist/backend/database/migrations/1771800000000-AddQualityScore.js +0 -50
  82. package/dist/backend/database/migrations/1771800100000-SeedQualityScores.js +0 -45
  83. package/dist/backend/database/migrations/1771900000000-EncryptApiKeys.js +0 -34
  84. package/dist/backend/database/migrations/1772000000000-MakeApiKeyNullable.js +0 -16
  85. package/dist/backend/database/migrations/1772100000000-AddRoutingTier.js +0 -17
  86. package/dist/backend/database/migrations/1772200000000-AddLimitAction.js +0 -17
  87. package/dist/backend/database/migrations/1772300000000-AddRoutingReason.js +0 -17
  88. package/dist/backend/database/migrations/1772400000000-AddAgentDisplayName.js +0 -13
  89. package/dist/backend/database/migrations/1772500000000-PerAgentRouting.js +0 -82
  90. package/dist/backend/database/migrations/1772668898071-AddCustomProviders.js +0 -31
  91. package/dist/backend/database/migrations/1772682112419-NullablePricing.js +0 -17
  92. package/dist/backend/database/migrations/1772843035514-AddPerformanceIndexes.js +0 -56
  93. package/dist/backend/database/migrations/1772900000000-AddProviderAuthType.js +0 -13
  94. package/dist/backend/database/migrations/1772905146384-AddDashboardIndexes.js +0 -24
  95. package/dist/backend/database/migrations/1772905260464-AddFallbacks.js +0 -18
  96. package/dist/backend/database/migrations/1772920000000-AddModelDisplayName.js +0 -14
  97. package/dist/backend/database/migrations/1772940000000-DropRedundantIndexes.js +0 -39
  98. package/dist/backend/database/migrations/1772948502780-BackfillTenantId.js +0 -20
  99. package/dist/backend/database/migrations/1772960000000-DropUnusedIndexes.js +0 -19
  100. package/dist/backend/database/migrations/1772960000000-PurgeNonCuratedModels.js +0 -86
  101. package/dist/backend/database/migrations/1773000000000-ExpandProviderUniqueKey.js +0 -19
  102. package/dist/backend/database/migrations/1773100000000-AddOverrideAuthType.js +0 -18
  103. package/dist/backend/database/migrations/1773200000000-AddMessageAuthType.js +0 -18
  104. package/dist/backend/database/migrations/1773202787708-AddModelsAgentIndex.js +0 -16
  105. package/dist/backend/database/migrations/1773300000000-AddEmailProviderKeyPrefix.js +0 -13
  106. package/dist/backend/database/migrations/1773400000000-AddProviderModelCache.js +0 -15
  107. package/dist/backend/database/migrations/1773500000000-DropModelPricingTables.js +0 -51
  108. package/dist/backend/database/migrations/1773600000000-AddOverrideProvider.js +0 -18
  109. package/dist/backend/database/migrations/1773650000000-AddProviderRegion.js +0 -13
  110. package/dist/backend/database/migrations/1773700000000-DropSecurityEventTable.js +0 -24
  111. package/dist/backend/database/migrations/1773800000000-FixNegativeCosts.js +0 -12
  112. package/dist/backend/database/migrations/1773900000000-AddKeyPrefixIndex.js +0 -15
  113. package/dist/backend/database/migrations/1774000000000-WidenKeyHashColumn.js +0 -15
  114. package/dist/backend/database/migrations/1774896789000-WidenApiKeyColumn.js +0 -14
  115. package/dist/backend/database/migrations/1775000000000-AddErrorHttpStatus.js +0 -18
  116. package/dist/backend/database/models-dev-sync.service.js +0 -238
  117. package/dist/backend/database/ollama-sync.service.js +0 -70
  118. package/dist/backend/database/pricing-sync.service.js +0 -116
  119. package/dist/backend/database/quality-score.util.js +0 -76
  120. package/dist/backend/database/seed-messages.js +0 -66
  121. package/dist/backend/entities/agent-api-key.entity.js +0 -91
  122. package/dist/backend/entities/agent-log.entity.js +0 -71
  123. package/dist/backend/entities/agent-message.entity.js +0 -163
  124. package/dist/backend/entities/agent.entity.js +0 -75
  125. package/dist/backend/entities/api-key.entity.js +0 -62
  126. package/dist/backend/entities/cost-snapshot.entity.js +0 -56
  127. package/dist/backend/entities/custom-provider.entity.js +0 -64
  128. package/dist/backend/entities/email-provider-config.entity.js +0 -72
  129. package/dist/backend/entities/llm-call.entity.js +0 -106
  130. package/dist/backend/entities/notification-log.entity.js +0 -67
  131. package/dist/backend/entities/notification-rule.entity.js +0 -84
  132. package/dist/backend/entities/tenant.entity.js +0 -62
  133. package/dist/backend/entities/tier-assignment.entity.js +0 -72
  134. package/dist/backend/entities/token-usage-snapshot.entity.js +0 -71
  135. package/dist/backend/entities/tool-execution.entity.js +0 -60
  136. package/dist/backend/entities/user-provider.entity.js +0 -87
  137. package/dist/backend/github/github.controller.js +0 -53
  138. package/dist/backend/github/github.module.js +0 -20
  139. package/dist/backend/health/health.controller.js +0 -51
  140. package/dist/backend/health/health.module.js +0 -22
  141. package/dist/backend/health/version-check.service.js +0 -95
  142. package/dist/backend/main.js +0 -154
  143. package/dist/backend/model-discovery/anthropic-subscription-probe.js +0 -87
  144. package/dist/backend/model-discovery/known-model-prices.js +0 -18
  145. package/dist/backend/model-discovery/model-discovery.module.js +0 -28
  146. package/dist/backend/model-discovery/model-discovery.service.js +0 -309
  147. package/dist/backend/model-discovery/model-fallback.js +0 -234
  148. package/dist/backend/model-discovery/model-fetcher.js +0 -3
  149. package/dist/backend/model-discovery/provider-model-fetcher.service.js +0 -376
  150. package/dist/backend/model-discovery/provider-model-registry.service.js +0 -84
  151. package/dist/backend/model-prices/model-name-normalizer.js +0 -129
  152. package/dist/backend/model-prices/model-prices.controller.js +0 -39
  153. package/dist/backend/model-prices/model-prices.module.js +0 -41
  154. package/dist/backend/model-prices/model-prices.service.js +0 -45
  155. package/dist/backend/model-prices/model-pricing-cache.service.js +0 -171
  156. package/dist/backend/notifications/dto/notification-rule.dto.js +0 -82
  157. package/dist/backend/notifications/dto/set-email-provider.dto.js +0 -86
  158. package/dist/backend/notifications/dto/set-notification-email.dto.js +0 -24
  159. package/dist/backend/notifications/emails/reset-password.js +0 -108
  160. package/dist/backend/notifications/emails/test-email.js +0 -91
  161. package/dist/backend/notifications/emails/threshold-alert.js +0 -187
  162. package/dist/backend/notifications/emails/verify-email.js +0 -108
  163. package/dist/backend/notifications/notifications.controller.js +0 -208
  164. package/dist/backend/notifications/notifications.module.js +0 -35
  165. package/dist/backend/notifications/services/email-provider-config.service.js +0 -184
  166. package/dist/backend/notifications/services/email-provider-validation.js +0 -47
  167. package/dist/backend/notifications/services/email-providers/email-provider.interface.js +0 -3
  168. package/dist/backend/notifications/services/email-providers/mailgun.provider.js +0 -62
  169. package/dist/backend/notifications/services/email-providers/resend.provider.js +0 -51
  170. package/dist/backend/notifications/services/email-providers/resolve-provider.js +0 -19
  171. package/dist/backend/notifications/services/email-providers/send-email.js +0 -34
  172. package/dist/backend/notifications/services/email-providers/sendgrid.provider.js +0 -59
  173. package/dist/backend/notifications/services/limit-check.service.js +0 -160
  174. package/dist/backend/notifications/services/notification-cron.service.js +0 -151
  175. package/dist/backend/notifications/services/notification-email.service.js +0 -65
  176. package/dist/backend/notifications/services/notification-log.service.js +0 -84
  177. package/dist/backend/notifications/services/notification-rules.service.js +0 -156
  178. package/dist/backend/otlp/guards/agent-key-auth.guard.js +0 -226
  179. package/dist/backend/otlp/interfaces/ingestion-context.interface.js +0 -3
  180. package/dist/backend/otlp/otlp-deprecated.controller.js +0 -61
  181. package/dist/backend/otlp/otlp.module.js +0 -30
  182. package/dist/backend/otlp/services/api-key.service.js +0 -143
  183. package/dist/backend/public-stats/public-stats.controller.js +0 -141
  184. package/dist/backend/public-stats/public-stats.module.js +0 -26
  185. package/dist/backend/public-stats/public-stats.service.js +0 -226
  186. package/dist/backend/routing/copilot.controller.js +0 -79
  187. package/dist/backend/routing/custom-provider/custom-provider.controller.js +0 -131
  188. package/dist/backend/routing/custom-provider/custom-provider.module.js +0 -27
  189. package/dist/backend/routing/custom-provider/custom-provider.service.js +0 -161
  190. package/dist/backend/routing/dto/custom-provider.dto.js +0 -124
  191. package/dist/backend/routing/dto/resolve-request.dto.js +0 -63
  192. package/dist/backend/routing/dto/resolve-response.js +0 -3
  193. package/dist/backend/routing/dto/routing.dto.js +0 -136
  194. package/dist/backend/routing/model.controller.js +0 -105
  195. package/dist/backend/routing/oauth/copilot-device-auth.service.js +0 -77
  196. package/dist/backend/routing/oauth/minimax-oauth-helpers.js +0 -70
  197. package/dist/backend/routing/oauth/minimax-oauth.controller.js +0 -80
  198. package/dist/backend/routing/oauth/minimax-oauth.service.js +0 -252
  199. package/dist/backend/routing/oauth/oauth.module.js +0 -29
  200. package/dist/backend/routing/oauth/openai-oauth.controller.js +0 -138
  201. package/dist/backend/routing/oauth/openai-oauth.service.js +0 -273
  202. package/dist/backend/routing/oauth/openai-oauth.types.js +0 -45
  203. package/dist/backend/routing/provider-base-url.js +0 -25
  204. package/dist/backend/routing/provider.controller.js +0 -152
  205. package/dist/backend/routing/proxy/anthropic-adapter.js +0 -295
  206. package/dist/backend/routing/proxy/cache-injection.js +0 -33
  207. package/dist/backend/routing/proxy/chatgpt-adapter.js +0 -272
  208. package/dist/backend/routing/proxy/chatgpt-helpers.js +0 -108
  209. package/dist/backend/routing/proxy/copilot-token.service.js +0 -63
  210. package/dist/backend/routing/proxy/fallback-status-codes.js +0 -7
  211. package/dist/backend/routing/proxy/google-adapter.js +0 -314
  212. package/dist/backend/routing/proxy/provider-client-converters.js +0 -190
  213. package/dist/backend/routing/proxy/provider-client.js +0 -130
  214. package/dist/backend/routing/proxy/provider-endpoints.js +0 -182
  215. package/dist/backend/routing/proxy/proxy-error-sanitizer.js +0 -40
  216. package/dist/backend/routing/proxy/proxy-exception.filter.js +0 -67
  217. package/dist/backend/routing/proxy/proxy-fallback.service.js +0 -227
  218. package/dist/backend/routing/proxy/proxy-friendly-response.js +0 -115
  219. package/dist/backend/routing/proxy/proxy-message-dedup.js +0 -121
  220. package/dist/backend/routing/proxy/proxy-message-recorder.js +0 -264
  221. package/dist/backend/routing/proxy/proxy-rate-limiter.js +0 -81
  222. package/dist/backend/routing/proxy/proxy-response-handler.js +0 -202
  223. package/dist/backend/routing/proxy/proxy-transport.js +0 -90
  224. package/dist/backend/routing/proxy/proxy-types.js +0 -3
  225. package/dist/backend/routing/proxy/proxy.controller.js +0 -174
  226. package/dist/backend/routing/proxy/proxy.module.js +0 -62
  227. package/dist/backend/routing/proxy/proxy.service.js +0 -227
  228. package/dist/backend/routing/proxy/session-momentum.service.js +0 -66
  229. package/dist/backend/routing/proxy/stream-writer.js +0 -147
  230. package/dist/backend/routing/proxy/thought-signature-cache.js +0 -45
  231. package/dist/backend/routing/qwen-region.js +0 -51
  232. package/dist/backend/routing/resolve/resolve.controller.js +0 -106
  233. package/dist/backend/routing/resolve/resolve.module.js +0 -28
  234. package/dist/backend/routing/resolve/resolve.service.js +0 -126
  235. package/dist/backend/routing/routing-core/provider-key.service.js +0 -190
  236. package/dist/backend/routing/routing-core/provider.service.js +0 -305
  237. package/dist/backend/routing/routing-core/resolve-agent.service.js +0 -62
  238. package/dist/backend/routing/routing-core/routing-cache.service.js +0 -73
  239. package/dist/backend/routing/routing-core/routing-core.module.js +0 -56
  240. package/dist/backend/routing/routing-core/routing-invalidation.service.js +0 -90
  241. package/dist/backend/routing/routing-core/tier-auto-assign.service.js +0 -138
  242. package/dist/backend/routing/routing-core/tier.service.js +0 -179
  243. package/dist/backend/routing/routing.module.js +0 -46
  244. package/dist/backend/routing/tier.controller.js +0 -129
  245. package/dist/backend/scoring/__tests__/fixtures.js +0 -191
  246. package/dist/backend/scoring/config.js +0 -383
  247. package/dist/backend/scoring/dimensions/contextual-dimensions.js +0 -85
  248. package/dist/backend/scoring/dimensions/index.js +0 -17
  249. package/dist/backend/scoring/dimensions/keyword-dimensions.js +0 -47
  250. package/dist/backend/scoring/dimensions/structural-dimensions.js +0 -118
  251. package/dist/backend/scoring/index.js +0 -186
  252. package/dist/backend/scoring/keyword-trie.js +0 -75
  253. package/dist/backend/scoring/momentum.js +0 -50
  254. package/dist/backend/scoring/overrides.js +0 -55
  255. package/dist/backend/scoring/sigmoid.js +0 -24
  256. package/dist/backend/scoring/text-extractor.js +0 -67
  257. package/dist/backend/scoring/types.js +0 -6
  258. package/dist/backend/sse/sse.controller.js +0 -45
  259. package/dist/backend/sse/sse.module.js +0 -20
  260. package/dist/node_modules/manifest-shared/dist/cjs/api-key.d.ts +0 -2
  261. package/dist/node_modules/manifest-shared/dist/cjs/api-key.d.ts.map +0 -1
  262. package/dist/node_modules/manifest-shared/dist/cjs/api-key.js +0 -5
  263. package/dist/node_modules/manifest-shared/dist/cjs/api-key.js.map +0 -1
  264. package/dist/node_modules/manifest-shared/dist/cjs/auth-types.d.ts +0 -3
  265. package/dist/node_modules/manifest-shared/dist/cjs/auth-types.d.ts.map +0 -1
  266. package/dist/node_modules/manifest-shared/dist/cjs/auth-types.js +0 -5
  267. package/dist/node_modules/manifest-shared/dist/cjs/auth-types.js.map +0 -1
  268. package/dist/node_modules/manifest-shared/dist/cjs/index.d.ts +0 -10
  269. package/dist/node_modules/manifest-shared/dist/cjs/index.d.ts.map +0 -1
  270. package/dist/node_modules/manifest-shared/dist/cjs/index.js +0 -22
  271. package/dist/node_modules/manifest-shared/dist/cjs/index.js.map +0 -1
  272. package/dist/node_modules/manifest-shared/dist/cjs/provider-inference.d.ts +0 -8
  273. package/dist/node_modules/manifest-shared/dist/cjs/provider-inference.d.ts.map +0 -1
  274. package/dist/node_modules/manifest-shared/dist/cjs/provider-inference.js +0 -37
  275. package/dist/node_modules/manifest-shared/dist/cjs/provider-inference.js.map +0 -1
  276. package/dist/node_modules/manifest-shared/dist/cjs/resolve-response.d.ts +0 -12
  277. package/dist/node_modules/manifest-shared/dist/cjs/resolve-response.d.ts.map +0 -1
  278. package/dist/node_modules/manifest-shared/dist/cjs/resolve-response.js +0 -3
  279. package/dist/node_modules/manifest-shared/dist/cjs/resolve-response.js.map +0 -1
  280. package/dist/node_modules/manifest-shared/dist/cjs/subscription/configs.d.ts +0 -4
  281. package/dist/node_modules/manifest-shared/dist/cjs/subscription/configs.d.ts.map +0 -1
  282. package/dist/node_modules/manifest-shared/dist/cjs/subscription/configs.js +0 -80
  283. package/dist/node_modules/manifest-shared/dist/cjs/subscription/configs.js.map +0 -1
  284. package/dist/node_modules/manifest-shared/dist/cjs/subscription/helpers.d.ts +0 -6
  285. package/dist/node_modules/manifest-shared/dist/cjs/subscription/helpers.d.ts.map +0 -1
  286. package/dist/node_modules/manifest-shared/dist/cjs/subscription/helpers.js +0 -25
  287. package/dist/node_modules/manifest-shared/dist/cjs/subscription/helpers.js.map +0 -1
  288. package/dist/node_modules/manifest-shared/dist/cjs/subscription/index.d.ts +0 -4
  289. package/dist/node_modules/manifest-shared/dist/cjs/subscription/index.d.ts.map +0 -1
  290. package/dist/node_modules/manifest-shared/dist/cjs/subscription/index.js +0 -12
  291. package/dist/node_modules/manifest-shared/dist/cjs/subscription/index.js.map +0 -1
  292. package/dist/node_modules/manifest-shared/dist/cjs/subscription/types.d.ts +0 -17
  293. package/dist/node_modules/manifest-shared/dist/cjs/subscription/types.d.ts.map +0 -1
  294. package/dist/node_modules/manifest-shared/dist/cjs/subscription/types.js +0 -3
  295. package/dist/node_modules/manifest-shared/dist/cjs/subscription/types.js.map +0 -1
  296. package/dist/node_modules/manifest-shared/dist/cjs/tiers.d.ts +0 -5
  297. package/dist/node_modules/manifest-shared/dist/cjs/tiers.d.ts.map +0 -1
  298. package/dist/node_modules/manifest-shared/dist/cjs/tiers.js +0 -17
  299. package/dist/node_modules/manifest-shared/dist/cjs/tiers.js.map +0 -1
  300. package/dist/node_modules/manifest-shared/dist/esm/api-key.d.ts +0 -2
  301. package/dist/node_modules/manifest-shared/dist/esm/api-key.d.ts.map +0 -1
  302. package/dist/node_modules/manifest-shared/dist/esm/api-key.js +0 -2
  303. package/dist/node_modules/manifest-shared/dist/esm/api-key.js.map +0 -1
  304. package/dist/node_modules/manifest-shared/dist/esm/auth-types.d.ts +0 -3
  305. package/dist/node_modules/manifest-shared/dist/esm/auth-types.d.ts.map +0 -1
  306. package/dist/node_modules/manifest-shared/dist/esm/auth-types.js +0 -2
  307. package/dist/node_modules/manifest-shared/dist/esm/auth-types.js.map +0 -1
  308. package/dist/node_modules/manifest-shared/dist/esm/index.d.ts +0 -10
  309. package/dist/node_modules/manifest-shared/dist/esm/index.d.ts.map +0 -1
  310. package/dist/node_modules/manifest-shared/dist/esm/index.js +0 -6
  311. package/dist/node_modules/manifest-shared/dist/esm/index.js.map +0 -1
  312. package/dist/node_modules/manifest-shared/dist/esm/provider-inference.d.ts +0 -8
  313. package/dist/node_modules/manifest-shared/dist/esm/provider-inference.d.ts.map +0 -1
  314. package/dist/node_modules/manifest-shared/dist/esm/provider-inference.js +0 -33
  315. package/dist/node_modules/manifest-shared/dist/esm/provider-inference.js.map +0 -1
  316. package/dist/node_modules/manifest-shared/dist/esm/resolve-response.d.ts +0 -12
  317. package/dist/node_modules/manifest-shared/dist/esm/resolve-response.d.ts.map +0 -1
  318. package/dist/node_modules/manifest-shared/dist/esm/resolve-response.js +0 -2
  319. package/dist/node_modules/manifest-shared/dist/esm/resolve-response.js.map +0 -1
  320. package/dist/node_modules/manifest-shared/dist/esm/subscription/configs.d.ts +0 -4
  321. package/dist/node_modules/manifest-shared/dist/esm/subscription/configs.d.ts.map +0 -1
  322. package/dist/node_modules/manifest-shared/dist/esm/subscription/configs.js +0 -77
  323. package/dist/node_modules/manifest-shared/dist/esm/subscription/configs.js.map +0 -1
  324. package/dist/node_modules/manifest-shared/dist/esm/subscription/helpers.d.ts +0 -6
  325. package/dist/node_modules/manifest-shared/dist/esm/subscription/helpers.d.ts.map +0 -1
  326. package/dist/node_modules/manifest-shared/dist/esm/subscription/helpers.js +0 -19
  327. package/dist/node_modules/manifest-shared/dist/esm/subscription/helpers.js.map +0 -1
  328. package/dist/node_modules/manifest-shared/dist/esm/subscription/index.d.ts +0 -4
  329. package/dist/node_modules/manifest-shared/dist/esm/subscription/index.d.ts.map +0 -1
  330. package/dist/node_modules/manifest-shared/dist/esm/subscription/index.js +0 -3
  331. package/dist/node_modules/manifest-shared/dist/esm/subscription/index.js.map +0 -1
  332. package/dist/node_modules/manifest-shared/dist/esm/subscription/types.d.ts +0 -17
  333. package/dist/node_modules/manifest-shared/dist/esm/subscription/types.d.ts.map +0 -1
  334. package/dist/node_modules/manifest-shared/dist/esm/subscription/types.js +0 -2
  335. package/dist/node_modules/manifest-shared/dist/esm/subscription/types.js.map +0 -1
  336. package/dist/node_modules/manifest-shared/dist/esm/tiers.d.ts +0 -5
  337. package/dist/node_modules/manifest-shared/dist/esm/tiers.d.ts.map +0 -1
  338. package/dist/node_modules/manifest-shared/dist/esm/tiers.js +0 -14
  339. package/dist/node_modules/manifest-shared/dist/esm/tiers.js.map +0 -1
  340. package/dist/node_modules/manifest-shared/package.json +0 -26
  341. package/dist/openclaw.plugin.json +0 -37
  342. package/dist/package.json +0 -94
  343. package/dist/server.d.ts +0 -9
  344. package/dist/server.js +0 -69
  345. package/openclaw.plugin.json +0 -37
  346. package/public/assets/Account-C5g6WhPe.js +0 -1
  347. package/public/assets/AuthBadge-Dj2KkXRW.js +0 -1
  348. package/public/assets/ConnectProvider-axzk92LC.js +0 -1
  349. package/public/assets/CopyButton-BWMVlK2w.js +0 -1
  350. package/public/assets/FreeModels-D14GhDL_.js +0 -1
  351. package/public/assets/Help-ifWIlcDo.js +0 -1
  352. package/public/assets/Limits-Xgc4xTl5.js +0 -1
  353. package/public/assets/Login-DMXD4PMZ.js +0 -1
  354. package/public/assets/MessageLog-DoriYlHo.js +0 -1
  355. package/public/assets/ModelPrices-MhBT_7Zb.js +0 -1
  356. package/public/assets/Overview-Bi9FuoLx.js +0 -1
  357. package/public/assets/Pagination-D8BOkffh.js +0 -1
  358. package/public/assets/ProviderTokens-Cu2RUqQG.js +0 -1
  359. package/public/assets/Register-CrovWG_d.js +0 -1
  360. package/public/assets/ResetPassword-C6B1ubhL.js +0 -1
  361. package/public/assets/Routing-B-On2pvv.js +0 -6
  362. package/public/assets/Settings-BH-xNoID.js +0 -1
  363. package/public/assets/SetupStepAddProvider-CSNkQmoC.js +0 -3
  364. package/public/assets/SocialButtons-DudwEJ6b.js +0 -1
  365. package/public/assets/auth-CU91cd7V.js +0 -1
  366. package/public/assets/chart-utils-DTt1NOye.js +0 -1
  367. package/public/assets/charts-Cty976qB.js +0 -3
  368. package/public/assets/charts-Saz_VHki.css +0 -1
  369. package/public/assets/index-C4Qw7vZo.js +0 -2
  370. package/public/assets/index-DhaXpWfr.css +0 -1
  371. package/public/assets/model-display-DHwvDtl4.js +0 -1
  372. package/public/assets/overview-DKLGwfLs.js +0 -1
  373. package/public/assets/overview-vZEzTjBP.css +0 -1
  374. package/public/assets/provider-api-key-urls-1G6okUJ7.js +0 -1
  375. package/public/assets/routing-CLLAl6kl.js +0 -1
  376. package/public/assets/routing-utils-CHapjwyd.js +0 -1
  377. package/public/assets/vendor-C-Y5oNOq.js +0 -1
  378. package/public/example-messages.svg +0 -1
  379. package/public/example-overview.svg +0 -1
  380. package/public/favicon.ico +0 -0
  381. package/public/fonts/boxicons/boxicons-duotone.min.css +0 -37
  382. package/public/fonts/boxicons/boxicons-duotone.woff2 +0 -0
  383. package/public/fonts/bricolage-grotesque-latin.woff2 +0 -0
  384. package/public/fonts/dm-sans-latin.woff2 +0 -0
  385. package/public/fonts/jetbrains-mono-latin.woff2 +0 -0
  386. package/public/icons/caret-down.svg +0 -1
  387. package/public/icons/cohere.svg +0 -30
  388. package/public/icons/free.svg +0 -91
  389. package/public/icons/gemini.svg +0 -25
  390. package/public/icons/kilocode.jpg +0 -0
  391. package/public/icons/nvidia.svg +0 -1
  392. package/public/icons/providers/alibaba.svg +0 -1
  393. package/public/icons/providers/amazon.svg +0 -1
  394. package/public/icons/providers/anthropic.svg +0 -1
  395. package/public/icons/providers/cohere.svg +0 -1
  396. package/public/icons/providers/deepseek.svg +0 -1
  397. package/public/icons/providers/google.svg +0 -1
  398. package/public/icons/providers/meta.svg +0 -1
  399. package/public/icons/providers/mistral.svg +0 -1
  400. package/public/icons/providers/moonshot.svg +0 -1
  401. package/public/icons/providers/openai.svg +0 -1
  402. package/public/icons/providers/xai.svg +0 -1
  403. package/public/icons/providers/zhipu.svg +0 -1
  404. package/public/icons/qwen.svg +0 -1
  405. package/public/images/oauth-callback-example.mp4 +0 -0
  406. package/public/images/oauth-callback-example.png +0 -0
  407. package/public/index.html +0 -41
  408. package/public/logo-white.svg +0 -93
  409. package/public/logo.svg +0 -93
  410. package/public/logos/mailgun.svg +0 -13
  411. package/public/logos/resend.svg +0 -4
  412. package/public/logos/sendgrid.svg +0 -18
  413. package/public/manifest-logo.png +0 -0
  414. package/public/theme-init.js +0 -6
package/package.json CHANGED
@@ -1,93 +1,64 @@
1
1
  {
2
2
  "name": "manifest",
3
- "version": "5.45.1",
4
- "description": "Self-hosted Manifest LLM router with embedded server, SQLite database, and dashboard",
5
- "main": "dist/index.js",
6
- "license": "MIT",
7
- "author": "MNFST Inc.",
8
- "homepage": "https://manifest.build",
9
- "repository": {
10
- "type": "git",
11
- "url": "https://github.com/mnfst/manifest",
12
- "directory": "packages/openclaw-plugins/manifest"
13
- },
14
- "bugs": {
15
- "url": "https://github.com/mnfst/manifest/issues"
3
+ "version": "7.0.0",
4
+ "description": "Repair eligible failed API calls made by Node HTTP clients.",
5
+ "type": "module",
6
+ "main": "./dist/index.cjs",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": {
12
+ "types": "./dist/index.d.ts",
13
+ "default": "./dist/index.js"
14
+ },
15
+ "require": {
16
+ "types": "./dist/index.d.cts",
17
+ "default": "./dist/index.cjs"
18
+ }
19
+ },
20
+ "./register": {
21
+ "import": {
22
+ "types": "./dist/register.d.ts",
23
+ "default": "./dist/register.js"
24
+ },
25
+ "require": {
26
+ "types": "./dist/register.d.cts",
27
+ "default": "./dist/register.cjs"
28
+ }
29
+ }
16
30
  },
17
31
  "files": [
18
- "dist/index.js",
19
- "dist/server.js",
20
- "dist/server.d.ts",
21
- "dist/backend",
22
- "dist/package.json",
23
- "dist/node_modules",
24
- "public",
25
- "openclaw.plugin.json",
32
+ "dist",
26
33
  "README.md",
27
- "LICENSE.md"
34
+ "CONTRACT.md",
35
+ "docs"
28
36
  ],
29
- "openclaw": {
30
- "extensions": [
31
- "./dist/index.js"
32
- ]
33
- },
34
37
  "engines": {
35
- "node": ">=20.0.0"
38
+ "node": ">=22"
36
39
  },
37
40
  "scripts": {
38
- "prebuild": "rm -rf dist public",
39
- "build": "tsx build.ts && tsc -p tsconfig.server.json && node scripts/copy-assets.js",
40
- "prepublishOnly": "npm run build && cp ../../../README.md README.md",
41
+ "build": "tsup src/index.ts src/register.ts --format esm,cjs --dts --clean",
42
+ "changeset": "changeset",
41
43
  "typecheck": "tsc --noEmit",
42
- "test": "jest"
43
- },
44
- "keywords": [
45
- "openclaw",
46
- "openclaw-plugin",
47
- "manifest",
48
- "manifest-local",
49
- "llm-router",
50
- "self-hosted",
51
- "local-first",
52
- "sqlite",
53
- "ai-dashboard",
54
- "embedded-server"
55
- ],
56
- "dependencies": {
57
- "@nestjs/cache-manager": "^3.1.0",
58
- "@nestjs/common": "^11.0.0",
59
- "@nestjs/config": "^4.0.0",
60
- "@nestjs/core": "^11.0.0",
61
- "@nestjs/platform-express": "^11.0.0",
62
- "@nestjs/schedule": "^6.1.1",
63
- "@nestjs/serve-static": "^5.0.4",
64
- "@nestjs/throttler": "^6.0.0",
65
- "@nestjs/typeorm": "^11.0.0",
66
- "@react-email/components": "^1.0.7",
67
- "@react-email/render": "^2.0.4",
68
- "better-auth": "^1.4.18",
69
- "cache-manager": "^7.2.8",
70
- "class-transformer": "^0.5.1",
71
- "class-validator": "^0.14.0",
72
- "compression": "^1.8.1",
73
- "express-rate-limit": "^8.3.1",
74
- "helmet": "^8.1.0",
75
- "pg": "^8.13.0",
76
- "protobufjs": "^8.0.0",
77
- "react": "^19.2.4",
78
- "react-dom": "^19.2.4",
79
- "reflect-metadata": "^0.2.0",
80
- "rxjs": "^7.8.0",
81
- "sql.js": "^1.12.0",
82
- "typeorm": "^0.3.0",
83
- "uuid": "^11.0.0"
44
+ "test": "tsx --test tests/*.test.ts",
45
+ "test:live": "tsx --test tests/live.test.ts",
46
+ "version-packages": "changeset version && node scripts/sync-version.mjs && npm install --package-lock-only --ignore-scripts",
47
+ "prepare": "npm run build"
84
48
  },
85
49
  "devDependencies": {
86
- "esbuild": "^0.25.0",
87
- "tsx": "^4.19.0",
88
- "typescript": "^5.7.0",
89
- "@types/jest": "^29.5.0",
90
- "jest": "^29.7.0",
91
- "ts-jest": "^29.2.0"
50
+ "@changesets/cli": "^2.31.1",
51
+ "@types/node": "^22.0.0",
52
+ "axios": "^1.7.0",
53
+ "tsup": "^8.5.0",
54
+ "tsx": "^4.20.0",
55
+ "typescript": "^5.9.0"
56
+ },
57
+ "repository": {
58
+ "type": "git",
59
+ "url": "git+https://github.com/mnfst/manifest-node.git"
60
+ },
61
+ "overrides": {
62
+ "esbuild": "^0.28.2"
92
63
  }
93
64
  }
@@ -1,60 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.AnalyticsModule = void 0;
10
- const common_1 = require("@nestjs/common");
11
- const typeorm_1 = require("@nestjs/typeorm");
12
- const agent_message_entity_1 = require("../entities/agent-message.entity");
13
- const agent_entity_1 = require("../entities/agent.entity");
14
- const tenant_entity_1 = require("../entities/tenant.entity");
15
- const llm_call_entity_1 = require("../entities/llm-call.entity");
16
- const tool_execution_entity_1 = require("../entities/tool-execution.entity");
17
- const agent_log_entity_1 = require("../entities/agent-log.entity");
18
- const otlp_module_1 = require("../otlp/otlp.module");
19
- const routing_core_module_1 = require("../routing/routing-core/routing-core.module");
20
- const aggregation_service_1 = require("./services/aggregation.service");
21
- const agent_lifecycle_service_1 = require("./services/agent-lifecycle.service");
22
- const timeseries_queries_service_1 = require("./services/timeseries-queries.service");
23
- const messages_query_service_1 = require("./services/messages-query.service");
24
- const message_details_service_1 = require("./services/message-details.service");
25
- const agent_analytics_service_1 = require("./services/agent-analytics.service");
26
- const overview_controller_1 = require("./controllers/overview.controller");
27
- const tokens_controller_1 = require("./controllers/tokens.controller");
28
- const costs_controller_1 = require("./controllers/costs.controller");
29
- const messages_controller_1 = require("./controllers/messages.controller");
30
- const agents_controller_1 = require("./controllers/agents.controller");
31
- const agent_analytics_controller_1 = require("./controllers/agent-analytics.controller");
32
- let AnalyticsModule = class AnalyticsModule {
33
- };
34
- exports.AnalyticsModule = AnalyticsModule;
35
- exports.AnalyticsModule = AnalyticsModule = __decorate([
36
- (0, common_1.Module)({
37
- imports: [
38
- typeorm_1.TypeOrmModule.forFeature([agent_message_entity_1.AgentMessage, agent_entity_1.Agent, tenant_entity_1.Tenant, llm_call_entity_1.LlmCall, tool_execution_entity_1.ToolExecution, agent_log_entity_1.AgentLog]),
39
- otlp_module_1.OtlpModule,
40
- routing_core_module_1.RoutingCoreModule,
41
- ],
42
- controllers: [
43
- overview_controller_1.OverviewController,
44
- tokens_controller_1.TokensController,
45
- costs_controller_1.CostsController,
46
- messages_controller_1.MessagesController,
47
- agents_controller_1.AgentsController,
48
- agent_analytics_controller_1.AgentAnalyticsController,
49
- ],
50
- providers: [
51
- aggregation_service_1.AggregationService,
52
- agent_lifecycle_service_1.AgentLifecycleService,
53
- timeseries_queries_service_1.TimeseriesQueriesService,
54
- messages_query_service_1.MessagesQueryService,
55
- message_details_service_1.MessageDetailsService,
56
- agent_analytics_service_1.AgentAnalyticsService,
57
- ],
58
- })
59
- ], AnalyticsModule);
60
- //# sourceMappingURL=analytics.module.js.map
@@ -1,69 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.AgentAnalyticsController = void 0;
16
- const common_1 = require("@nestjs/common");
17
- const cache_manager_1 = require("@nestjs/cache-manager");
18
- const public_decorator_1 = require("../../common/decorators/public.decorator");
19
- const agent_key_auth_guard_1 = require("../../otlp/guards/agent-key-auth.guard");
20
- const agent_analytics_service_1 = require("../services/agent-analytics.service");
21
- const range_query_dto_1 = require("../../common/dto/range-query.dto");
22
- const agent_cache_interceptor_1 = require("../../common/interceptors/agent-cache.interceptor");
23
- const cache_constants_1 = require("../../common/constants/cache.constants");
24
- let AgentAnalyticsController = class AgentAnalyticsController {
25
- analytics;
26
- constructor(analytics) {
27
- this.analytics = analytics;
28
- }
29
- async getUsage(query, req) {
30
- const range = query.range ?? '24h';
31
- const ctx = req.ingestionContext;
32
- const usage = await this.analytics.getUsage(range, ctx);
33
- return {
34
- ...usage,
35
- agentName: ctx.agentName,
36
- };
37
- }
38
- async getCosts(query, req) {
39
- const range = query.range ?? '7d';
40
- const ctx = req.ingestionContext;
41
- return this.analytics.getCosts(range, ctx);
42
- }
43
- };
44
- exports.AgentAnalyticsController = AgentAnalyticsController;
45
- __decorate([
46
- (0, common_1.Get)('usage'),
47
- __param(0, (0, common_1.Query)()),
48
- __param(1, (0, common_1.Req)()),
49
- __metadata("design:type", Function),
50
- __metadata("design:paramtypes", [range_query_dto_1.RangeQueryDto, Object]),
51
- __metadata("design:returntype", Promise)
52
- ], AgentAnalyticsController.prototype, "getUsage", null);
53
- __decorate([
54
- (0, common_1.Get)('costs'),
55
- __param(0, (0, common_1.Query)()),
56
- __param(1, (0, common_1.Req)()),
57
- __metadata("design:type", Function),
58
- __metadata("design:paramtypes", [range_query_dto_1.RangeQueryDto, Object]),
59
- __metadata("design:returntype", Promise)
60
- ], AgentAnalyticsController.prototype, "getCosts", null);
61
- exports.AgentAnalyticsController = AgentAnalyticsController = __decorate([
62
- (0, common_1.Controller)('api/v1/agent'),
63
- (0, public_decorator_1.Public)(),
64
- (0, common_1.UseGuards)(agent_key_auth_guard_1.AgentKeyAuthGuard),
65
- (0, common_1.UseInterceptors)(agent_cache_interceptor_1.AgentCacheInterceptor),
66
- (0, cache_manager_1.CacheTTL)(cache_constants_1.DASHBOARD_CACHE_TTL_MS),
67
- __metadata("design:paramtypes", [agent_analytics_service_1.AgentAnalyticsService])
68
- ], AgentAnalyticsController);
69
- //# sourceMappingURL=agent-analytics.controller.js.map
@@ -1,176 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.AgentsController = void 0;
16
- const common_1 = require("@nestjs/common");
17
- const typeorm_1 = require("typeorm");
18
- const cache_manager_1 = require("@nestjs/cache-manager");
19
- const config_1 = require("@nestjs/config");
20
- const timeseries_queries_service_1 = require("../services/timeseries-queries.service");
21
- const agent_lifecycle_service_1 = require("../services/agent-lifecycle.service");
22
- const api_key_service_1 = require("../../otlp/services/api-key.service");
23
- const current_user_decorator_1 = require("../../auth/current-user.decorator");
24
- const create_agent_dto_1 = require("../../common/dto/create-agent.dto");
25
- const rename_agent_dto_1 = require("../../common/dto/rename-agent.dto");
26
- const user_cache_interceptor_1 = require("../../common/interceptors/user-cache.interceptor");
27
- const cache_constants_1 = require("../../common/constants/cache.constants");
28
- const local_mode_constants_1 = require("../../common/constants/local-mode.constants");
29
- const slugify_1 = require("../../common/utils/slugify");
30
- const tenant_cache_service_1 = require("../../common/services/tenant-cache.service");
31
- let AgentsController = class AgentsController {
32
- timeseries;
33
- lifecycle;
34
- apiKeyGenerator;
35
- config;
36
- tenantCache;
37
- cacheManager;
38
- constructor(timeseries, lifecycle, apiKeyGenerator, config, tenantCache, cacheManager) {
39
- this.timeseries = timeseries;
40
- this.lifecycle = lifecycle;
41
- this.apiKeyGenerator = apiKeyGenerator;
42
- this.config = config;
43
- this.tenantCache = tenantCache;
44
- this.cacheManager = cacheManager;
45
- }
46
- agentListCacheKey(userId) {
47
- return `${userId}:/api/v1/agents`;
48
- }
49
- async getAgents(user) {
50
- const tenantId = (await this.tenantCache.resolve(user.id)) ?? undefined;
51
- const agents = await this.timeseries.getAgentList(user.id, tenantId);
52
- return { agents };
53
- }
54
- async createAgent(user, body) {
55
- const slug = (0, slugify_1.slugify)(body.name);
56
- if (!slug) {
57
- throw new common_1.BadRequestException('Agent name produces an empty slug');
58
- }
59
- const displayName = body.name.trim();
60
- let result;
61
- try {
62
- result = await this.apiKeyGenerator.onboardAgent({
63
- tenantName: user.id,
64
- agentName: slug,
65
- displayName,
66
- email: user.email,
67
- });
68
- }
69
- catch (error) {
70
- if (error instanceof typeorm_1.QueryFailedError && /unique|duplicate/i.test(error.message)) {
71
- throw new common_1.ConflictException(`Agent "${slug}" already exists`);
72
- }
73
- throw error;
74
- }
75
- await this.cacheManager.del(this.agentListCacheKey(user.id));
76
- return {
77
- agent: { id: result.agentId, name: slug, display_name: displayName },
78
- apiKey: result.apiKey,
79
- };
80
- }
81
- async getAgentKey(user, agentName) {
82
- const keyData = await this.apiKeyGenerator.getKeyForAgent(user.id, agentName);
83
- const customEndpoint = this.config.get('app.pluginOtlpEndpoint', '');
84
- const isLocal = this.config.get('MANIFEST_MODE') === 'local';
85
- const localKey = isLocal && agentName === local_mode_constants_1.LOCAL_AGENT_NAME ? (0, local_mode_constants_1.readLocalApiKey)() : undefined;
86
- const apiKey = localKey ?? keyData.fullKey ?? undefined;
87
- return {
88
- keyPrefix: keyData.keyPrefix,
89
- ...(apiKey ? { apiKey } : {}),
90
- ...(customEndpoint ? { pluginEndpoint: customEndpoint } : {}),
91
- };
92
- }
93
- async rotateAgentKey(user, agentName) {
94
- const result = await this.apiKeyGenerator.rotateKey(user.id, agentName);
95
- return { apiKey: result.apiKey };
96
- }
97
- async renameAgent(user, agentName, body) {
98
- const slug = (0, slugify_1.slugify)(body.name);
99
- if (!slug) {
100
- throw new common_1.BadRequestException('Agent name produces an empty slug');
101
- }
102
- const displayName = body.name.trim();
103
- await this.lifecycle.renameAgent(user.id, agentName, slug, displayName);
104
- await this.cacheManager.del(this.agentListCacheKey(user.id));
105
- return { renamed: true, name: slug, display_name: displayName };
106
- }
107
- async deleteAgent(user, agentName) {
108
- if (this.config.get('MANIFEST_MODE') === 'local' && agentName === local_mode_constants_1.LOCAL_AGENT_NAME) {
109
- throw new common_1.ForbiddenException('Cannot delete the default local agent');
110
- }
111
- await this.lifecycle.deleteAgent(user.id, agentName);
112
- await this.cacheManager.del(this.agentListCacheKey(user.id));
113
- return { deleted: true };
114
- }
115
- };
116
- exports.AgentsController = AgentsController;
117
- __decorate([
118
- (0, common_1.Get)('agents'),
119
- (0, common_1.UseInterceptors)(user_cache_interceptor_1.UserCacheInterceptor),
120
- (0, cache_manager_1.CacheTTL)(cache_constants_1.AGENT_LIST_CACHE_TTL_MS),
121
- __param(0, (0, current_user_decorator_1.CurrentUser)()),
122
- __metadata("design:type", Function),
123
- __metadata("design:paramtypes", [Object]),
124
- __metadata("design:returntype", Promise)
125
- ], AgentsController.prototype, "getAgents", null);
126
- __decorate([
127
- (0, common_1.Post)('agents'),
128
- __param(0, (0, current_user_decorator_1.CurrentUser)()),
129
- __param(1, (0, common_1.Body)()),
130
- __metadata("design:type", Function),
131
- __metadata("design:paramtypes", [Object, create_agent_dto_1.CreateAgentDto]),
132
- __metadata("design:returntype", Promise)
133
- ], AgentsController.prototype, "createAgent", null);
134
- __decorate([
135
- (0, common_1.Get)('agents/:agentName/key'),
136
- __param(0, (0, current_user_decorator_1.CurrentUser)()),
137
- __param(1, (0, common_1.Param)('agentName')),
138
- __metadata("design:type", Function),
139
- __metadata("design:paramtypes", [Object, String]),
140
- __metadata("design:returntype", Promise)
141
- ], AgentsController.prototype, "getAgentKey", null);
142
- __decorate([
143
- (0, common_1.Post)('agents/:agentName/rotate-key'),
144
- __param(0, (0, current_user_decorator_1.CurrentUser)()),
145
- __param(1, (0, common_1.Param)('agentName')),
146
- __metadata("design:type", Function),
147
- __metadata("design:paramtypes", [Object, String]),
148
- __metadata("design:returntype", Promise)
149
- ], AgentsController.prototype, "rotateAgentKey", null);
150
- __decorate([
151
- (0, common_1.Patch)('agents/:agentName'),
152
- __param(0, (0, current_user_decorator_1.CurrentUser)()),
153
- __param(1, (0, common_1.Param)('agentName')),
154
- __param(2, (0, common_1.Body)()),
155
- __metadata("design:type", Function),
156
- __metadata("design:paramtypes", [Object, String, rename_agent_dto_1.RenameAgentDto]),
157
- __metadata("design:returntype", Promise)
158
- ], AgentsController.prototype, "renameAgent", null);
159
- __decorate([
160
- (0, common_1.Delete)('agents/:agentName'),
161
- __param(0, (0, current_user_decorator_1.CurrentUser)()),
162
- __param(1, (0, common_1.Param)('agentName')),
163
- __metadata("design:type", Function),
164
- __metadata("design:paramtypes", [Object, String]),
165
- __metadata("design:returntype", Promise)
166
- ], AgentsController.prototype, "deleteAgent", null);
167
- exports.AgentsController = AgentsController = __decorate([
168
- (0, common_1.Controller)('api/v1'),
169
- __param(5, (0, common_1.Inject)(cache_manager_1.CACHE_MANAGER)),
170
- __metadata("design:paramtypes", [timeseries_queries_service_1.TimeseriesQueriesService,
171
- agent_lifecycle_service_1.AgentLifecycleService,
172
- api_key_service_1.ApiKeyGeneratorService,
173
- config_1.ConfigService,
174
- tenant_cache_service_1.TenantCacheService, Object])
175
- ], AgentsController);
176
- //# sourceMappingURL=agents.controller.js.map
@@ -1,71 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.CostsController = void 0;
16
- const common_1 = require("@nestjs/common");
17
- const cache_manager_1 = require("@nestjs/cache-manager");
18
- const range_query_dto_1 = require("../../common/dto/range-query.dto");
19
- const aggregation_service_1 = require("../services/aggregation.service");
20
- const timeseries_queries_service_1 = require("../services/timeseries-queries.service");
21
- const current_user_decorator_1 = require("../../auth/current-user.decorator");
22
- const user_cache_interceptor_1 = require("../../common/interceptors/user-cache.interceptor");
23
- const cache_constants_1 = require("../../common/constants/cache.constants");
24
- const query_helpers_1 = require("../services/query-helpers");
25
- let CostsController = class CostsController {
26
- aggregation;
27
- timeseries;
28
- constructor(aggregation, timeseries) {
29
- this.aggregation = aggregation;
30
- this.timeseries = timeseries;
31
- }
32
- async getCosts(query, user) {
33
- const range = query.range ?? '7d';
34
- const agentName = query.agent_name;
35
- const [{ costUsage: hourly }, { costUsage: daily }, byModel, prevCost] = await Promise.all([
36
- this.timeseries.getTimeseries(range, user.id, true, undefined, agentName),
37
- this.timeseries.getTimeseries(range, user.id, false, undefined, agentName),
38
- this.timeseries.getCostByModel(range, user.id, agentName),
39
- this.aggregation.getPreviousCostTotal(range, user.id, agentName),
40
- ]);
41
- const currentCost = hourly.reduce((s, h) => s + h.cost, 0);
42
- return {
43
- summary: {
44
- weekly_cost: {
45
- value: currentCost,
46
- trend_pct: (0, query_helpers_1.computeTrend)(currentCost, prevCost),
47
- },
48
- },
49
- daily,
50
- hourly,
51
- by_model: byModel,
52
- };
53
- }
54
- };
55
- exports.CostsController = CostsController;
56
- __decorate([
57
- (0, common_1.Get)('costs'),
58
- __param(0, (0, common_1.Query)()),
59
- __param(1, (0, current_user_decorator_1.CurrentUser)()),
60
- __metadata("design:type", Function),
61
- __metadata("design:paramtypes", [range_query_dto_1.RangeQueryDto, Object]),
62
- __metadata("design:returntype", Promise)
63
- ], CostsController.prototype, "getCosts", null);
64
- exports.CostsController = CostsController = __decorate([
65
- (0, common_1.Controller)('api/v1'),
66
- (0, common_1.UseInterceptors)(user_cache_interceptor_1.UserCacheInterceptor),
67
- (0, cache_manager_1.CacheTTL)(cache_constants_1.DASHBOARD_CACHE_TTL_MS),
68
- __metadata("design:paramtypes", [aggregation_service_1.AggregationService,
69
- timeseries_queries_service_1.TimeseriesQueriesService])
70
- ], CostsController);
71
- //# sourceMappingURL=costs.controller.js.map
@@ -1,67 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.MessagesController = void 0;
16
- const common_1 = require("@nestjs/common");
17
- const messages_query_dto_1 = require("../dto/messages-query.dto");
18
- const messages_query_service_1 = require("../services/messages-query.service");
19
- const message_details_service_1 = require("../services/message-details.service");
20
- const current_user_decorator_1 = require("../../auth/current-user.decorator");
21
- let MessagesController = class MessagesController {
22
- messagesQuery;
23
- messageDetails;
24
- constructor(messagesQuery, messageDetails) {
25
- this.messagesQuery = messagesQuery;
26
- this.messageDetails = messageDetails;
27
- }
28
- async getMessages(query, user) {
29
- return this.messagesQuery.getMessages({
30
- range: query.range,
31
- userId: user.id,
32
- provider: query.provider,
33
- service_type: query.service_type,
34
- cost_min: query.cost_min,
35
- cost_max: query.cost_max,
36
- limit: Math.min(query.limit ?? 50, 200),
37
- cursor: query.cursor,
38
- agent_name: query.agent_name,
39
- });
40
- }
41
- async getMessageDetails(id, user) {
42
- return this.messageDetails.getDetails(id, user.id);
43
- }
44
- };
45
- exports.MessagesController = MessagesController;
46
- __decorate([
47
- (0, common_1.Get)('messages'),
48
- __param(0, (0, common_1.Query)()),
49
- __param(1, (0, current_user_decorator_1.CurrentUser)()),
50
- __metadata("design:type", Function),
51
- __metadata("design:paramtypes", [messages_query_dto_1.MessagesQueryDto, Object]),
52
- __metadata("design:returntype", Promise)
53
- ], MessagesController.prototype, "getMessages", null);
54
- __decorate([
55
- (0, common_1.Get)('messages/:id/details'),
56
- __param(0, (0, common_1.Param)('id')),
57
- __param(1, (0, current_user_decorator_1.CurrentUser)()),
58
- __metadata("design:type", Function),
59
- __metadata("design:paramtypes", [String, Object]),
60
- __metadata("design:returntype", Promise)
61
- ], MessagesController.prototype, "getMessageDetails", null);
62
- exports.MessagesController = MessagesController = __decorate([
63
- (0, common_1.Controller)('api/v1'),
64
- __metadata("design:paramtypes", [messages_query_service_1.MessagesQueryService,
65
- message_details_service_1.MessageDetailsService])
66
- ], MessagesController);
67
- //# sourceMappingURL=messages.controller.js.map