@igoruehara/canvas-flow 0.1.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 (283) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +152 -0
  3. package/bin/canvas-flow.js +1132 -0
  4. package/package.json +68 -0
  5. package/public/assets/index-PCQkqMUe.css +1 -0
  6. package/public/assets/index-qV8twxcq.js +767 -0
  7. package/public/index.html +13 -0
  8. package/server/api-key/api-key-connect-provider.d.ts +104 -0
  9. package/server/api-key/api-key-connect-provider.js +14 -0
  10. package/server/api-key/api-key-connect-provider.js.map +1 -0
  11. package/server/api-key/api-key-constants-model.d.ts +2 -0
  12. package/server/api-key/api-key-constants-model.js +6 -0
  13. package/server/api-key/api-key-constants-model.js.map +1 -0
  14. package/server/api-key/api-key-controller.d.ts +12 -0
  15. package/server/api-key/api-key-controller.js +86 -0
  16. package/server/api-key/api-key-controller.js.map +1 -0
  17. package/server/api-key/api-key-module.d.ts +2 -0
  18. package/server/api-key/api-key-module.js +27 -0
  19. package/server/api-key/api-key-module.js.map +1 -0
  20. package/server/api-key/api-key-schema.d.ts +72 -0
  21. package/server/api-key/api-key-schema.js +98 -0
  22. package/server/api-key/api-key-schema.js.map +1 -0
  23. package/server/api-key/api-key-service.d.ts +45 -0
  24. package/server/api-key/api-key-service.js +151 -0
  25. package/server/api-key/api-key-service.js.map +1 -0
  26. package/server/api-key/dto/create-api-key.dto.d.ts +8 -0
  27. package/server/api-key/dto/create-api-key.dto.js +7 -0
  28. package/server/api-key/dto/create-api-key.dto.js.map +1 -0
  29. package/server/app.module.d.ts +2 -0
  30. package/server/app.module.js +53 -0
  31. package/server/app.module.js.map +1 -0
  32. package/server/auth/auth-connect-provider.d.ts +140 -0
  33. package/server/auth/auth-connect-provider.js +20 -0
  34. package/server/auth/auth-connect-provider.js.map +1 -0
  35. package/server/auth/auth-constants-model.d.ts +4 -0
  36. package/server/auth/auth-constants-model.js +8 -0
  37. package/server/auth/auth-constants-model.js.map +1 -0
  38. package/server/auth/auth-controller.d.ts +25 -0
  39. package/server/auth/auth-controller.js +96 -0
  40. package/server/auth/auth-controller.js.map +1 -0
  41. package/server/auth/auth-module.d.ts +2 -0
  42. package/server/auth/auth-module.js +26 -0
  43. package/server/auth/auth-module.js.map +1 -0
  44. package/server/auth/auth-organization-schema.d.ts +44 -0
  45. package/server/auth/auth-organization-schema.js +62 -0
  46. package/server/auth/auth-organization-schema.js.map +1 -0
  47. package/server/auth/auth-schema.d.ts +56 -0
  48. package/server/auth/auth-schema.js +77 -0
  49. package/server/auth/auth-schema.js.map +1 -0
  50. package/server/auth/auth-service.d.ts +64 -0
  51. package/server/auth/auth-service.js +343 -0
  52. package/server/auth/auth-service.js.map +1 -0
  53. package/server/canvas-flow/canvas-flow-connect-provider.d.ts +278 -0
  54. package/server/canvas-flow/canvas-flow-connect-provider.js +24 -0
  55. package/server/canvas-flow/canvas-flow-connect-provider.js.map +1 -0
  56. package/server/canvas-flow/canvas-flow-constants-model.d.ts +6 -0
  57. package/server/canvas-flow/canvas-flow-constants-model.js +10 -0
  58. package/server/canvas-flow/canvas-flow-constants-model.js.map +1 -0
  59. package/server/canvas-flow/canvas-flow-controller.d.ts +98 -0
  60. package/server/canvas-flow/canvas-flow-controller.js +423 -0
  61. package/server/canvas-flow/canvas-flow-controller.js.map +1 -0
  62. package/server/canvas-flow/canvas-flow-module.d.ts +2 -0
  63. package/server/canvas-flow/canvas-flow-module.js +27 -0
  64. package/server/canvas-flow/canvas-flow-module.js.map +1 -0
  65. package/server/canvas-flow/canvas-flow-schema.d.ts +192 -0
  66. package/server/canvas-flow/canvas-flow-schema.js +239 -0
  67. package/server/canvas-flow/canvas-flow-schema.js.map +1 -0
  68. package/server/canvas-flow/canvas-flow-service.d.ts +250 -0
  69. package/server/canvas-flow/canvas-flow-service.js +1681 -0
  70. package/server/canvas-flow/canvas-flow-service.js.map +1 -0
  71. package/server/canvas-flow/dto/create-canvas-flow.dto.d.ts +11 -0
  72. package/server/canvas-flow/dto/create-canvas-flow.dto.js +61 -0
  73. package/server/canvas-flow/dto/create-canvas-flow.dto.js.map +1 -0
  74. package/server/canvas-flow/dto/update-canvas-flow.dto.d.ts +10 -0
  75. package/server/canvas-flow/dto/update-canvas-flow.dto.js +56 -0
  76. package/server/canvas-flow/dto/update-canvas-flow.dto.js.map +1 -0
  77. package/server/constants-global.d.ts +1 -0
  78. package/server/constants-global.js +5 -0
  79. package/server/constants-global.js.map +1 -0
  80. package/server/database/database.module.d.ts +2 -0
  81. package/server/database/database.module.js +23 -0
  82. package/server/database/database.module.js.map +1 -0
  83. package/server/database/database.providers.d.ts +7 -0
  84. package/server/database/database.providers.js +26 -0
  85. package/server/database/database.providers.js.map +1 -0
  86. package/server/documents/documents-connect-provider.d.ts +140 -0
  87. package/server/documents/documents-connect-provider.js +14 -0
  88. package/server/documents/documents-connect-provider.js.map +1 -0
  89. package/server/documents/documents-constants-model.d.ts +2 -0
  90. package/server/documents/documents-constants-model.js +6 -0
  91. package/server/documents/documents-constants-model.js.map +1 -0
  92. package/server/documents/documents-controller.d.ts +16 -0
  93. package/server/documents/documents-controller.js +117 -0
  94. package/server/documents/documents-controller.js.map +1 -0
  95. package/server/documents/documents-module.d.ts +2 -0
  96. package/server/documents/documents-module.js +27 -0
  97. package/server/documents/documents-module.js.map +1 -0
  98. package/server/documents/documents-schema.d.ts +96 -0
  99. package/server/documents/documents-schema.js +38 -0
  100. package/server/documents/documents-schema.js.map +1 -0
  101. package/server/documents/documents-service.d.ts +164 -0
  102. package/server/documents/documents-service.js +1417 -0
  103. package/server/documents/documents-service.js.map +1 -0
  104. package/server/flow-tag/flow-tag-connect-provider.d.ts +146 -0
  105. package/server/flow-tag/flow-tag-connect-provider.js +14 -0
  106. package/server/flow-tag/flow-tag-connect-provider.js.map +1 -0
  107. package/server/flow-tag/flow-tag-constants-model.d.ts +2 -0
  108. package/server/flow-tag/flow-tag-constants-model.js +6 -0
  109. package/server/flow-tag/flow-tag-constants-model.js.map +1 -0
  110. package/server/flow-tag/flow-tag-module.d.ts +2 -0
  111. package/server/flow-tag/flow-tag-module.js +24 -0
  112. package/server/flow-tag/flow-tag-module.js.map +1 -0
  113. package/server/flow-tag/flow-tag-schema.d.ts +100 -0
  114. package/server/flow-tag/flow-tag-schema.js +131 -0
  115. package/server/flow-tag/flow-tag-schema.js.map +1 -0
  116. package/server/flow-tag/flow-tag-service.d.ts +77 -0
  117. package/server/flow-tag/flow-tag-service.js +156 -0
  118. package/server/flow-tag/flow-tag-service.js.map +1 -0
  119. package/server/health.controller.d.ts +7 -0
  120. package/server/health.controller.js +33 -0
  121. package/server/health.controller.js.map +1 -0
  122. package/server/http-batch/http-batch-controller.d.ts +345 -0
  123. package/server/http-batch/http-batch-controller.js +40 -0
  124. package/server/http-batch/http-batch-controller.js.map +1 -0
  125. package/server/http-batch/http-batch-module.d.ts +2 -0
  126. package/server/http-batch/http-batch-module.js +25 -0
  127. package/server/http-batch/http-batch-module.js.map +1 -0
  128. package/server/http-batch/http-batch-service.d.ts +381 -0
  129. package/server/http-batch/http-batch-service.js +268 -0
  130. package/server/http-batch/http-batch-service.js.map +1 -0
  131. package/server/lambda.d.ts +2 -0
  132. package/server/lambda.js +115 -0
  133. package/server/lambda.js.map +1 -0
  134. package/server/llm/openai-provider.d.ts +8 -0
  135. package/server/llm/openai-provider.js +256 -0
  136. package/server/llm/openai-provider.js.map +1 -0
  137. package/server/main.d.ts +1 -0
  138. package/server/main.js +80 -0
  139. package/server/main.js.map +1 -0
  140. package/server/mcp-oauth/mcp-oauth-connect-provider.d.ts +164 -0
  141. package/server/mcp-oauth/mcp-oauth-connect-provider.js +14 -0
  142. package/server/mcp-oauth/mcp-oauth-connect-provider.js.map +1 -0
  143. package/server/mcp-oauth/mcp-oauth-constants-model.d.ts +2 -0
  144. package/server/mcp-oauth/mcp-oauth-constants-model.js +6 -0
  145. package/server/mcp-oauth/mcp-oauth-constants-model.js.map +1 -0
  146. package/server/mcp-oauth/mcp-oauth-controller.d.ts +66 -0
  147. package/server/mcp-oauth/mcp-oauth-controller.js +166 -0
  148. package/server/mcp-oauth/mcp-oauth-controller.js.map +1 -0
  149. package/server/mcp-oauth/mcp-oauth-module.d.ts +2 -0
  150. package/server/mcp-oauth/mcp-oauth-module.js +27 -0
  151. package/server/mcp-oauth/mcp-oauth-module.js.map +1 -0
  152. package/server/mcp-oauth/mcp-oauth-schema.d.ts +112 -0
  153. package/server/mcp-oauth/mcp-oauth-schema.js +148 -0
  154. package/server/mcp-oauth/mcp-oauth-schema.js.map +1 -0
  155. package/server/mcp-oauth/mcp-oauth-service.d.ts +189 -0
  156. package/server/mcp-oauth/mcp-oauth-service.js +545 -0
  157. package/server/mcp-oauth/mcp-oauth-service.js.map +1 -0
  158. package/server/memory/memory-connect-provider.d.ts +200 -0
  159. package/server/memory/memory-connect-provider.js +26 -0
  160. package/server/memory/memory-connect-provider.js.map +1 -0
  161. package/server/memory/memory-constants-model.d.ts +6 -0
  162. package/server/memory/memory-constants-model.js +10 -0
  163. package/server/memory/memory-constants-model.js.map +1 -0
  164. package/server/memory/memory-controller.d.ts +15 -0
  165. package/server/memory/memory-controller.js +53 -0
  166. package/server/memory/memory-controller.js.map +1 -0
  167. package/server/memory/memory-history-schema.d.ts +48 -0
  168. package/server/memory/memory-history-schema.js +62 -0
  169. package/server/memory/memory-history-schema.js.map +1 -0
  170. package/server/memory/memory-module.d.ts +2 -0
  171. package/server/memory/memory-module.js +26 -0
  172. package/server/memory/memory-module.js.map +1 -0
  173. package/server/memory/memory-schema.d.ts +48 -0
  174. package/server/memory/memory-schema.js +62 -0
  175. package/server/memory/memory-schema.js.map +1 -0
  176. package/server/memory/memory-service.d.ts +134 -0
  177. package/server/memory/memory-service.js +317 -0
  178. package/server/memory/memory-service.js.map +1 -0
  179. package/server/memory/memory-trace-history-schema.d.ts +48 -0
  180. package/server/memory/memory-trace-history-schema.js +62 -0
  181. package/server/memory/memory-trace-history-schema.js.map +1 -0
  182. package/server/observability/observability.d.ts +3 -0
  183. package/server/observability/observability.js +62 -0
  184. package/server/observability/observability.js.map +1 -0
  185. package/server/production-guard.d.ts +9 -0
  186. package/server/production-guard.js +105 -0
  187. package/server/production-guard.js.map +1 -0
  188. package/server/provider-config/provider-config-connect-provider.d.ts +44 -0
  189. package/server/provider-config/provider-config-connect-provider.js +14 -0
  190. package/server/provider-config/provider-config-connect-provider.js.map +1 -0
  191. package/server/provider-config/provider-config-constants-model.d.ts +3 -0
  192. package/server/provider-config/provider-config-constants-model.js +7 -0
  193. package/server/provider-config/provider-config-constants-model.js.map +1 -0
  194. package/server/provider-config/provider-config-controller.d.ts +23 -0
  195. package/server/provider-config/provider-config-controller.js +80 -0
  196. package/server/provider-config/provider-config-controller.js.map +1 -0
  197. package/server/provider-config/provider-config-module.d.ts +2 -0
  198. package/server/provider-config/provider-config-module.js +27 -0
  199. package/server/provider-config/provider-config-module.js.map +1 -0
  200. package/server/provider-config/provider-config-schema.d.ts +32 -0
  201. package/server/provider-config/provider-config-schema.js +46 -0
  202. package/server/provider-config/provider-config-schema.js.map +1 -0
  203. package/server/provider-config/provider-config-service.d.ts +178 -0
  204. package/server/provider-config/provider-config-service.js +689 -0
  205. package/server/provider-config/provider-config-service.js.map +1 -0
  206. package/server/queue/queue-job-connect-provider.d.ts +128 -0
  207. package/server/queue/queue-job-connect-provider.js +14 -0
  208. package/server/queue/queue-job-connect-provider.js.map +1 -0
  209. package/server/queue/queue-job-constants-model.d.ts +2 -0
  210. package/server/queue/queue-job-constants-model.js +6 -0
  211. package/server/queue/queue-job-constants-model.js.map +1 -0
  212. package/server/queue/queue-job-schema.d.ts +88 -0
  213. package/server/queue/queue-job-schema.js +119 -0
  214. package/server/queue/queue-job-schema.js.map +1 -0
  215. package/server/queue/queue-lock-connect-provider.d.ts +44 -0
  216. package/server/queue/queue-lock-connect-provider.js +14 -0
  217. package/server/queue/queue-lock-connect-provider.js.map +1 -0
  218. package/server/queue/queue-lock-constants-model.d.ts +2 -0
  219. package/server/queue/queue-lock-constants-model.js +6 -0
  220. package/server/queue/queue-lock-constants-model.js.map +1 -0
  221. package/server/queue/queue-lock-schema.d.ts +32 -0
  222. package/server/queue/queue-lock-schema.js +47 -0
  223. package/server/queue/queue-lock-schema.js.map +1 -0
  224. package/server/queue/queue-message-dedupe-connect-provider.d.ts +116 -0
  225. package/server/queue/queue-message-dedupe-connect-provider.js +14 -0
  226. package/server/queue/queue-message-dedupe-connect-provider.js.map +1 -0
  227. package/server/queue/queue-message-dedupe-constants-model.d.ts +2 -0
  228. package/server/queue/queue-message-dedupe-constants-model.js +6 -0
  229. package/server/queue/queue-message-dedupe-constants-model.js.map +1 -0
  230. package/server/queue/queue-message-dedupe-schema.d.ts +80 -0
  231. package/server/queue/queue-message-dedupe-schema.js +108 -0
  232. package/server/queue/queue-message-dedupe-schema.js.map +1 -0
  233. package/server/queue/queue-module.d.ts +2 -0
  234. package/server/queue/queue-module.js +33 -0
  235. package/server/queue/queue-module.js.map +1 -0
  236. package/server/queue/queue-rate-limit-connect-provider.d.ts +56 -0
  237. package/server/queue/queue-rate-limit-connect-provider.js +14 -0
  238. package/server/queue/queue-rate-limit-connect-provider.js.map +1 -0
  239. package/server/queue/queue-rate-limit-constants-model.d.ts +2 -0
  240. package/server/queue/queue-rate-limit-constants-model.js +6 -0
  241. package/server/queue/queue-rate-limit-constants-model.js.map +1 -0
  242. package/server/queue/queue-rate-limit-schema.d.ts +40 -0
  243. package/server/queue/queue-rate-limit-schema.js +57 -0
  244. package/server/queue/queue-rate-limit-schema.js.map +1 -0
  245. package/server/queue/sqs-transition-service.d.ts +123 -0
  246. package/server/queue/sqs-transition-service.js +442 -0
  247. package/server/queue/sqs-transition-service.js.map +1 -0
  248. package/server/rag/rag-controller.d.ts +167 -0
  249. package/server/rag/rag-controller.js +232 -0
  250. package/server/rag/rag-controller.js.map +1 -0
  251. package/server/rag/rag-module.d.ts +2 -0
  252. package/server/rag/rag-module.js +30 -0
  253. package/server/rag/rag-module.js.map +1 -0
  254. package/server/rag/rag-service.d.ts +361 -0
  255. package/server/rag/rag-service.js +2864 -0
  256. package/server/rag/rag-service.js.map +1 -0
  257. package/server/runner/flow-templates.d.ts +55 -0
  258. package/server/runner/flow-templates.js +388 -0
  259. package/server/runner/flow-templates.js.map +1 -0
  260. package/server/runner/langgraph-runtime.service.d.ts +77 -0
  261. package/server/runner/langgraph-runtime.service.js +221 -0
  262. package/server/runner/langgraph-runtime.service.js.map +1 -0
  263. package/server/runner/runner-controller.d.ts +1044 -0
  264. package/server/runner/runner-controller.js +751 -0
  265. package/server/runner/runner-controller.js.map +1 -0
  266. package/server/runner/runner-module.d.ts +2 -0
  267. package/server/runner/runner-module.js +37 -0
  268. package/server/runner/runner-module.js.map +1 -0
  269. package/server/runner/runner-queue-processor.d.ts +29 -0
  270. package/server/runner/runner-queue-processor.js +259 -0
  271. package/server/runner/runner-queue-processor.js.map +1 -0
  272. package/server/runner/runner-service.d.ts +1761 -0
  273. package/server/runner/runner-service.js +14256 -0
  274. package/server/runner/runner-service.js.map +1 -0
  275. package/server/scripts/migrate-canvas-flow-versions.d.ts +1 -0
  276. package/server/scripts/migrate-canvas-flow-versions.js +72 -0
  277. package/server/scripts/migrate-canvas-flow-versions.js.map +1 -0
  278. package/server/scripts/migrate-mcp-oauth-user-scope.d.ts +1 -0
  279. package/server/scripts/migrate-mcp-oauth-user-scope.js +95 -0
  280. package/server/scripts/migrate-mcp-oauth-user-scope.js.map +1 -0
  281. package/templates/config.example.json +204 -0
  282. package/templates/config.production.example.json +206 -0
  283. package/templates/docker-compose.yml +60 -0
@@ -0,0 +1,148 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CanvasMcpOAuthConnectionEntity = exports.EntitySchema = void 0;
13
+ const mongoose_1 = require("@nestjs/mongoose");
14
+ const mongoose = require("mongoose");
15
+ const mongoose_2 = require("mongoose");
16
+ const mcp_oauth_constants_model_1 = require("./mcp-oauth-constants-model");
17
+ exports.EntitySchema = new mongoose.Schema({
18
+ key: { type: String, required: true, unique: true, index: true },
19
+ organizationId: { type: String, index: true },
20
+ agentId: { type: String, index: true },
21
+ connectionScope: { type: String, enum: ['agent', 'user'], default: 'agent', index: true },
22
+ oauthUserId: { type: String, index: true },
23
+ serverUrl: { type: String, required: true },
24
+ serverUrlHash: { type: String, required: true, index: true },
25
+ label: String,
26
+ scope: String,
27
+ redirectUrl: String,
28
+ state: { type: String, index: true },
29
+ authorizationUrl: String,
30
+ status: { type: String, enum: ['pending', 'connected', 'error'], default: 'pending', index: true },
31
+ error: String,
32
+ clientMetadata: { type: mongoose.Schema.Types.Mixed },
33
+ clientInformation: String,
34
+ tokens: String,
35
+ codeVerifier: String,
36
+ discoveryState: String,
37
+ expiresAt: Date,
38
+ authenticatedAt: Date,
39
+ createdBy: String,
40
+ updatedBy: String,
41
+ }, {
42
+ collection: mcp_oauth_constants_model_1.COLLECTION_NAME,
43
+ timestamps: true,
44
+ });
45
+ exports.EntitySchema.index({ organizationId: 1, agentId: 1, connectionScope: 1, oauthUserId: 1, serverUrlHash: 1 }, { name: 'mcp_oauth_scope_lookup' });
46
+ exports.EntitySchema.index({ state: 1 }, { sparse: true });
47
+ let CanvasMcpOAuthConnectionEntity = class CanvasMcpOAuthConnectionEntity extends mongoose_2.Document {
48
+ };
49
+ exports.CanvasMcpOAuthConnectionEntity = CanvasMcpOAuthConnectionEntity;
50
+ __decorate([
51
+ (0, mongoose_1.Prop)({ required: true, unique: true }),
52
+ __metadata("design:type", String)
53
+ ], CanvasMcpOAuthConnectionEntity.prototype, "key", void 0);
54
+ __decorate([
55
+ (0, mongoose_1.Prop)(),
56
+ __metadata("design:type", String)
57
+ ], CanvasMcpOAuthConnectionEntity.prototype, "organizationId", void 0);
58
+ __decorate([
59
+ (0, mongoose_1.Prop)(),
60
+ __metadata("design:type", String)
61
+ ], CanvasMcpOAuthConnectionEntity.prototype, "agentId", void 0);
62
+ __decorate([
63
+ (0, mongoose_1.Prop)({ default: 'agent' }),
64
+ __metadata("design:type", String)
65
+ ], CanvasMcpOAuthConnectionEntity.prototype, "connectionScope", void 0);
66
+ __decorate([
67
+ (0, mongoose_1.Prop)(),
68
+ __metadata("design:type", String)
69
+ ], CanvasMcpOAuthConnectionEntity.prototype, "oauthUserId", void 0);
70
+ __decorate([
71
+ (0, mongoose_1.Prop)({ required: true }),
72
+ __metadata("design:type", String)
73
+ ], CanvasMcpOAuthConnectionEntity.prototype, "serverUrl", void 0);
74
+ __decorate([
75
+ (0, mongoose_1.Prop)({ required: true }),
76
+ __metadata("design:type", String)
77
+ ], CanvasMcpOAuthConnectionEntity.prototype, "serverUrlHash", void 0);
78
+ __decorate([
79
+ (0, mongoose_1.Prop)(),
80
+ __metadata("design:type", String)
81
+ ], CanvasMcpOAuthConnectionEntity.prototype, "label", void 0);
82
+ __decorate([
83
+ (0, mongoose_1.Prop)(),
84
+ __metadata("design:type", String)
85
+ ], CanvasMcpOAuthConnectionEntity.prototype, "scope", void 0);
86
+ __decorate([
87
+ (0, mongoose_1.Prop)(),
88
+ __metadata("design:type", String)
89
+ ], CanvasMcpOAuthConnectionEntity.prototype, "redirectUrl", void 0);
90
+ __decorate([
91
+ (0, mongoose_1.Prop)(),
92
+ __metadata("design:type", String)
93
+ ], CanvasMcpOAuthConnectionEntity.prototype, "state", void 0);
94
+ __decorate([
95
+ (0, mongoose_1.Prop)(),
96
+ __metadata("design:type", String)
97
+ ], CanvasMcpOAuthConnectionEntity.prototype, "authorizationUrl", void 0);
98
+ __decorate([
99
+ (0, mongoose_1.Prop)({ default: 'pending' }),
100
+ __metadata("design:type", String)
101
+ ], CanvasMcpOAuthConnectionEntity.prototype, "status", void 0);
102
+ __decorate([
103
+ (0, mongoose_1.Prop)(),
104
+ __metadata("design:type", String)
105
+ ], CanvasMcpOAuthConnectionEntity.prototype, "error", void 0);
106
+ __decorate([
107
+ (0, mongoose_1.Prop)({ type: mongoose.Schema.Types.Mixed }),
108
+ __metadata("design:type", Object)
109
+ ], CanvasMcpOAuthConnectionEntity.prototype, "clientMetadata", void 0);
110
+ __decorate([
111
+ (0, mongoose_1.Prop)(),
112
+ __metadata("design:type", String)
113
+ ], CanvasMcpOAuthConnectionEntity.prototype, "clientInformation", void 0);
114
+ __decorate([
115
+ (0, mongoose_1.Prop)(),
116
+ __metadata("design:type", String)
117
+ ], CanvasMcpOAuthConnectionEntity.prototype, "tokens", void 0);
118
+ __decorate([
119
+ (0, mongoose_1.Prop)(),
120
+ __metadata("design:type", String)
121
+ ], CanvasMcpOAuthConnectionEntity.prototype, "codeVerifier", void 0);
122
+ __decorate([
123
+ (0, mongoose_1.Prop)(),
124
+ __metadata("design:type", String)
125
+ ], CanvasMcpOAuthConnectionEntity.prototype, "discoveryState", void 0);
126
+ __decorate([
127
+ (0, mongoose_1.Prop)(),
128
+ __metadata("design:type", Date)
129
+ ], CanvasMcpOAuthConnectionEntity.prototype, "expiresAt", void 0);
130
+ __decorate([
131
+ (0, mongoose_1.Prop)(),
132
+ __metadata("design:type", Date)
133
+ ], CanvasMcpOAuthConnectionEntity.prototype, "authenticatedAt", void 0);
134
+ __decorate([
135
+ (0, mongoose_1.Prop)(),
136
+ __metadata("design:type", String)
137
+ ], CanvasMcpOAuthConnectionEntity.prototype, "createdBy", void 0);
138
+ __decorate([
139
+ (0, mongoose_1.Prop)(),
140
+ __metadata("design:type", String)
141
+ ], CanvasMcpOAuthConnectionEntity.prototype, "updatedBy", void 0);
142
+ exports.CanvasMcpOAuthConnectionEntity = CanvasMcpOAuthConnectionEntity = __decorate([
143
+ (0, mongoose_1.Schema)({
144
+ collection: mcp_oauth_constants_model_1.COLLECTION_NAME,
145
+ timestamps: true,
146
+ })
147
+ ], CanvasMcpOAuthConnectionEntity);
148
+ //# sourceMappingURL=mcp-oauth-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-oauth-schema.js","sourceRoot":"","sources":["../../src/mcp-oauth/mcp-oauth-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,189 @@
1
+ import { ConfigService } from '@nestjs/config';
2
+ import { OAuthClientProvider, type OAuthDiscoveryState } from '@modelcontextprotocol/sdk/client/auth.js';
3
+ import type { OAuthClientInformationMixed, OAuthClientMetadata, OAuthTokens } from '@modelcontextprotocol/sdk/shared/auth.js';
4
+ import { Model } from 'mongoose';
5
+ import { CanvasMcpOAuthConnectionEntity } from './mcp-oauth-schema';
6
+ type OAuthStatus = 'pending' | 'connected' | 'error';
7
+ export type McpOAuthConnectionScope = 'agent' | 'user';
8
+ export interface McpOAuthScope {
9
+ organizationId?: string;
10
+ agentId?: string;
11
+ connectionScope?: McpOAuthConnectionScope;
12
+ oauthUserId?: string;
13
+ }
14
+ declare class PersistentMcpOAuthProvider implements OAuthClientProvider {
15
+ private readonly service;
16
+ private readonly key;
17
+ private readonly redirectUrlValue;
18
+ private readonly clientMetadataValue;
19
+ latestAuthorizationUrl: string;
20
+ constructor(service: McpOAuthService, key: string, redirectUrlValue: string, clientMetadataValue: OAuthClientMetadata);
21
+ get redirectUrl(): string;
22
+ get clientMetadata(): {
23
+ redirect_uris: string[];
24
+ token_endpoint_auth_method?: string;
25
+ grant_types?: string[];
26
+ response_types?: string[];
27
+ client_name?: string;
28
+ client_uri?: string;
29
+ logo_uri?: string;
30
+ scope?: string;
31
+ contacts?: string[];
32
+ tos_uri?: string;
33
+ policy_uri?: string;
34
+ jwks_uri?: string;
35
+ jwks?: any;
36
+ software_id?: string;
37
+ software_version?: string;
38
+ software_statement?: string;
39
+ };
40
+ state(): Promise<string>;
41
+ clientInformation(): Promise<OAuthClientInformationMixed>;
42
+ saveClientInformation(clientInformation: OAuthClientInformationMixed): Promise<void>;
43
+ tokens(): Promise<{
44
+ access_token: string;
45
+ token_type: string;
46
+ id_token?: string;
47
+ expires_in?: number;
48
+ scope?: string;
49
+ refresh_token?: string;
50
+ }>;
51
+ saveTokens(tokens: OAuthTokens): Promise<void>;
52
+ redirectToAuthorization(authorizationUrl: URL): Promise<void>;
53
+ saveCodeVerifier(codeVerifier: string): Promise<void>;
54
+ codeVerifier(): Promise<string>;
55
+ saveDiscoveryState(state: OAuthDiscoveryState): Promise<void>;
56
+ discoveryState(): Promise<OAuthDiscoveryState>;
57
+ invalidateCredentials(scope: 'all' | 'client' | 'tokens' | 'verifier' | 'discovery'): Promise<void>;
58
+ }
59
+ export declare class McpOAuthService {
60
+ private model;
61
+ private readonly configService;
62
+ constructor(model: Model<CanvasMcpOAuthConnectionEntity>, configService: ConfigService);
63
+ private normalizeAgentId;
64
+ private normalizeOrganizationId;
65
+ private normalizeConnectionScope;
66
+ private normalizeOAuthUserId;
67
+ normalizeServerUrl(value: string): string;
68
+ private serverUrlHash;
69
+ private connectionKey;
70
+ private secretKey;
71
+ private encryptText;
72
+ private decryptText;
73
+ private encryptJson;
74
+ private decryptJson;
75
+ private assertDbReady;
76
+ private buildCallbackUrl;
77
+ private buildClientMetadata;
78
+ private defaultScopeForServer;
79
+ private isFigmaServer;
80
+ private isAtlassianServer;
81
+ private getStaticClientInformation;
82
+ private formatStartError;
83
+ private inspectStoredTokens;
84
+ private sanitize;
85
+ getConnectionByKey(key: string): Promise<import("mongoose").FlattenMaps<CanvasMcpOAuthConnectionEntity> & Required<{
86
+ _id: import("mongoose").Types.ObjectId;
87
+ }> & {
88
+ __v: number;
89
+ }>;
90
+ getEncryptedJson<T>(key: string, field: 'clientInformation' | 'tokens' | 'codeVerifier' | 'discoveryState'): Promise<T>;
91
+ saveEncryptedJson(key: string, field: 'clientInformation' | 'tokens' | 'codeVerifier' | 'discoveryState', value: any): Promise<void>;
92
+ saveTokens(key: string, tokens: OAuthTokens): Promise<void>;
93
+ setAuthorizationUrl(key: string, authorizationUrl: string): Promise<void>;
94
+ invalidateCredentials(key: string, scope: 'all' | 'client' | 'tokens' | 'verifier' | 'discovery'): Promise<void>;
95
+ private createProvider;
96
+ startAuthorization(params: {
97
+ serverUrl: string;
98
+ agentId?: string;
99
+ organizationId?: string;
100
+ userId?: string;
101
+ connectionScope?: McpOAuthConnectionScope;
102
+ oauthUserId?: string;
103
+ baseUrl?: string;
104
+ label?: string;
105
+ scope?: string;
106
+ clientName?: string;
107
+ }): Promise<{
108
+ connected: boolean;
109
+ status: OAuthStatus;
110
+ serverUrl: any;
111
+ agentId: any;
112
+ organizationId: any;
113
+ connectionScope: McpOAuthConnectionScope;
114
+ label: any;
115
+ scope: any;
116
+ authorizationUrl: any;
117
+ expiresAt: string;
118
+ authenticatedAt: string;
119
+ updatedAt: string;
120
+ error: any;
121
+ }>;
122
+ finishAuthorization(params: {
123
+ state: string;
124
+ code?: string;
125
+ error?: string;
126
+ }): Promise<{
127
+ connected: boolean;
128
+ status: OAuthStatus;
129
+ serverUrl: any;
130
+ agentId: any;
131
+ organizationId: any;
132
+ connectionScope: McpOAuthConnectionScope;
133
+ label: any;
134
+ scope: any;
135
+ authorizationUrl: any;
136
+ expiresAt: string;
137
+ authenticatedAt: string;
138
+ updatedAt: string;
139
+ error: any;
140
+ }>;
141
+ getStatus(params: McpOAuthScope & {
142
+ serverUrl: string;
143
+ }): Promise<{
144
+ connected: boolean;
145
+ status: OAuthStatus;
146
+ serverUrl: any;
147
+ agentId: any;
148
+ organizationId: any;
149
+ connectionScope: McpOAuthConnectionScope;
150
+ label: any;
151
+ scope: any;
152
+ authorizationUrl: any;
153
+ expiresAt: string;
154
+ authenticatedAt: string;
155
+ updatedAt: string;
156
+ error: any;
157
+ } | {
158
+ connected: boolean;
159
+ status: string;
160
+ error: string;
161
+ serverUrl?: undefined;
162
+ agentId?: undefined;
163
+ organizationId?: undefined;
164
+ connectionScope?: undefined;
165
+ } | {
166
+ connected: false;
167
+ status: "pending";
168
+ serverUrl: string;
169
+ agentId: string;
170
+ organizationId: string;
171
+ connectionScope: McpOAuthConnectionScope;
172
+ error: string;
173
+ }>;
174
+ disconnect(params: McpOAuthScope & {
175
+ serverUrl: string;
176
+ }): Promise<{
177
+ connected: boolean;
178
+ status: string;
179
+ serverUrl: string;
180
+ agentId: string;
181
+ organizationId: string;
182
+ connectionScope: McpOAuthConnectionScope;
183
+ error: string;
184
+ }>;
185
+ createRuntimeProvider(params: McpOAuthScope & {
186
+ serverUrl: string;
187
+ }): Promise<PersistentMcpOAuthProvider>;
188
+ }
189
+ export {};