@taico/taico 0.0.4 → 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 (363) hide show
  1. package/dist/agents/agent-tokens.controller.js +1 -1
  2. package/dist/agents/agent-tokens.controller.js.map +1 -1
  3. package/dist/agents/agents.controller.js +7 -1
  4. package/dist/agents/agents.controller.js.map +1 -1
  5. package/dist/agents/agents.service.js +44 -2
  6. package/dist/agents/agents.service.js.map +1 -1
  7. package/dist/agents/dto/patch-agent.dto.d.ts +7 -1
  8. package/dist/agents/dto/patch-agent.dto.js +73 -1
  9. package/dist/agents/dto/patch-agent.dto.js.map +1 -1
  10. package/dist/agents/dto/service/agents.service.types.d.ts +7 -1
  11. package/dist/app-init/agent/prompts.d.ts +2 -1
  12. package/dist/app-init/agent/prompts.js +22 -7
  13. package/dist/app-init/agent/prompts.js.map +1 -1
  14. package/dist/app-init/agent/taico.agent.d.ts +2 -0
  15. package/dist/app-init/agent/taico.agent.js +18 -0
  16. package/dist/app-init/agent/taico.agent.js.map +1 -0
  17. package/dist/app-init/app-init.runner.js +40 -11
  18. package/dist/app-init/app-init.runner.js.map +1 -1
  19. package/dist/app-init/mcp/context.mcp.js +1 -0
  20. package/dist/app-init/mcp/context.mcp.js.map +1 -1
  21. package/dist/app-init/mcp/elen.mcp.d.ts +2 -0
  22. package/dist/app-init/mcp/elen.mcp.js +12 -0
  23. package/dist/app-init/mcp/elen.mcp.js.map +1 -0
  24. package/dist/app-init/mcp/playwright.mcp.d.ts +2 -0
  25. package/dist/app-init/mcp/playwright.mcp.js +14 -0
  26. package/dist/app-init/mcp/playwright.mcp.js.map +1 -0
  27. package/dist/app-init/mcp/tasks.mcp.js +1 -0
  28. package/dist/app-init/mcp/tasks.mcp.js.map +1 -1
  29. package/dist/app.module.js +29 -1
  30. package/dist/app.module.js.map +1 -1
  31. package/dist/auth/core/scopes/all-api.scopes.js +2 -0
  32. package/dist/auth/core/scopes/all-api.scopes.js.map +1 -1
  33. package/dist/auth-journeys/entities/connection-authorization-flow.entity.js +4 -4
  34. package/dist/auth-journeys/entities/connection-authorization-flow.entity.js.map +1 -1
  35. package/dist/authorization-server/authorization.controller.js +26 -1
  36. package/dist/authorization-server/authorization.controller.js.map +1 -1
  37. package/dist/authorization-server/dto/authorization-request.dto.d.ts +1 -1
  38. package/dist/authorization-server/dto/authorization-request.dto.js +2 -2
  39. package/dist/authorization-server/dto/authorization-request.dto.js.map +1 -1
  40. package/dist/authorization-server/dto/authorization-request.dto.spec.d.ts +1 -0
  41. package/dist/authorization-server/dto/authorization-request.dto.spec.js +30 -0
  42. package/dist/authorization-server/dto/authorization-request.dto.spec.js.map +1 -0
  43. package/dist/authorization-server/dto/introspect-token-response.dto.d.ts +10 -10
  44. package/dist/authorization-server/dto/introspect-token-response.dto.js +21 -21
  45. package/dist/authorization-server/dto/introspect-token-response.dto.js.map +1 -1
  46. package/dist/authorization-server/dto/onboarding-request.dto.d.ts +6 -0
  47. package/dist/authorization-server/dto/onboarding-request.dto.js +57 -0
  48. package/dist/authorization-server/dto/onboarding-request.dto.js.map +1 -0
  49. package/dist/authorization-server/dto/onboarding-status-response.dto.d.ts +3 -0
  50. package/dist/authorization-server/dto/onboarding-status-response.dto.js +25 -0
  51. package/dist/authorization-server/dto/onboarding-status-response.dto.js.map +1 -0
  52. package/dist/authorization-server/dto/service/token.service.types.d.ts +26 -0
  53. package/dist/authorization-server/dto/service/token.service.types.js +3 -0
  54. package/dist/authorization-server/dto/service/token.service.types.js.map +1 -0
  55. package/dist/authorization-server/dto/user-response.dto.d.ts +1 -0
  56. package/dist/authorization-server/dto/user-response.dto.js +8 -0
  57. package/dist/authorization-server/dto/user-response.dto.js.map +1 -1
  58. package/dist/authorization-server/issued-access-token.service.d.ts +28 -0
  59. package/dist/authorization-server/issued-access-token.service.js +62 -19
  60. package/dist/authorization-server/issued-access-token.service.js.map +1 -1
  61. package/dist/authorization-server/token.service.d.ts +2 -3
  62. package/dist/authorization-server/token.service.js +6 -6
  63. package/dist/authorization-server/token.service.js.map +1 -1
  64. package/dist/authorization-server/web-auth.controller.d.ts +7 -0
  65. package/dist/authorization-server/web-auth.controller.js +129 -0
  66. package/dist/authorization-server/web-auth.controller.js.map +1 -1
  67. package/dist/common/utils/keyed-debounce-batch-processor.util.d.ts +17 -0
  68. package/dist/common/utils/keyed-debounce-batch-processor.util.js +76 -0
  69. package/dist/common/utils/keyed-debounce-batch-processor.util.js.map +1 -0
  70. package/dist/config/env.config.d.ts +6 -0
  71. package/dist/config/env.config.js +28 -0
  72. package/dist/config/env.config.js.map +1 -1
  73. package/dist/context/context.gateway.d.ts +15 -3
  74. package/dist/context/context.gateway.js +45 -9
  75. package/dist/context/context.gateway.js.map +1 -1
  76. package/dist/context/context.mcp.gateway.d.ts +3 -1
  77. package/dist/context/context.mcp.gateway.js +108 -28
  78. package/dist/context/context.mcp.gateway.js.map +1 -1
  79. package/dist/context/context.service.js +2 -0
  80. package/dist/context/context.service.js.map +1 -1
  81. package/dist/discovery/discovery.service.js +7 -0
  82. package/dist/discovery/discovery.service.js.map +1 -1
  83. package/dist/errors/http/error-catalog.js +84 -0
  84. package/dist/errors/http/error-catalog.js.map +1 -1
  85. package/dist/identity-provider/dto/actor-response.dto.d.ts +2 -0
  86. package/dist/identity-provider/dto/actor-response.dto.js +10 -0
  87. package/dist/identity-provider/dto/actor-response.dto.js.map +1 -1
  88. package/dist/identity-provider/errors/identity-provider.errors.d.ts +38 -0
  89. package/dist/identity-provider/errors/identity-provider.errors.js +70 -0
  90. package/dist/identity-provider/errors/identity-provider.errors.js.map +1 -0
  91. package/dist/identity-provider/identity-provider.service.d.ts +3 -0
  92. package/dist/identity-provider/identity-provider.service.js +71 -4
  93. package/dist/identity-provider/identity-provider.service.js.map +1 -1
  94. package/dist/identity-provider/user.entity.d.ts +1 -0
  95. package/dist/identity-provider/user.entity.js +5 -0
  96. package/dist/identity-provider/user.entity.js.map +1 -1
  97. package/dist/llm/llm.module.d.ts +2 -0
  98. package/dist/llm/llm.module.js +21 -0
  99. package/dist/llm/llm.module.js.map +1 -0
  100. package/dist/llm/openai-responses.service.d.ts +9 -0
  101. package/dist/llm/openai-responses.service.js +51 -0
  102. package/dist/llm/openai-responses.service.js.map +1 -0
  103. package/dist/mcp-registry/dto/create-server.dto.d.ts +4 -0
  104. package/dist/mcp-registry/dto/create-server.dto.js +39 -1
  105. package/dist/mcp-registry/dto/create-server.dto.js.map +1 -1
  106. package/dist/mcp-registry/dto/index.d.ts +1 -0
  107. package/dist/mcp-registry/dto/index.js +1 -0
  108. package/dist/mcp-registry/dto/index.js.map +1 -1
  109. package/dist/mcp-registry/dto/server-response.dto.d.ts +4 -0
  110. package/dist/mcp-registry/dto/server-response.dto.js +29 -0
  111. package/dist/mcp-registry/dto/server-response.dto.js.map +1 -1
  112. package/dist/mcp-registry/dto/service/mcp-registry.service.types.d.ts +27 -3
  113. package/dist/mcp-registry/dto/update-server.dto.d.ts +4 -0
  114. package/dist/mcp-registry/dto/update-server.dto.js +40 -0
  115. package/dist/mcp-registry/dto/update-server.dto.js.map +1 -1
  116. package/dist/mcp-registry/entities/mcp-server.entity.d.ts +4 -0
  117. package/dist/mcp-registry/entities/mcp-server.entity.js +17 -1
  118. package/dist/mcp-registry/entities/mcp-server.entity.js.map +1 -1
  119. package/dist/mcp-registry/errors/mcp-registry.errors.d.ts +4 -0
  120. package/dist/mcp-registry/errors/mcp-registry.errors.js +8 -1
  121. package/dist/mcp-registry/errors/mcp-registry.errors.js.map +1 -1
  122. package/dist/mcp-registry/mcp-registry.controller.js +12 -1
  123. package/dist/mcp-registry/mcp-registry.controller.js.map +1 -1
  124. package/dist/mcp-registry/mcp-registry.service.d.ts +2 -0
  125. package/dist/mcp-registry/mcp-registry.service.js +86 -10
  126. package/dist/mcp-registry/mcp-registry.service.js.map +1 -1
  127. package/dist/mcp-registry/mcp-server.types.d.ts +4 -0
  128. package/dist/mcp-registry/mcp-server.types.js +7 -0
  129. package/dist/mcp-registry/mcp-server.types.js.map +1 -0
  130. package/dist/meta/dto/create-project.dto.js +3 -2
  131. package/dist/meta/dto/create-project.dto.js.map +1 -1
  132. package/dist/meta/dto/patch-project.dto.js +3 -2
  133. package/dist/meta/dto/patch-project.dto.js.map +1 -1
  134. package/dist/meta/meta.module.js +2 -1
  135. package/dist/meta/meta.module.js.map +1 -1
  136. package/dist/meta/meta.service.d.ts +5 -1
  137. package/dist/meta/meta.service.js +63 -6
  138. package/dist/meta/meta.service.js.map +1 -1
  139. package/dist/meta/tag-usage.entity.d.ts +10 -0
  140. package/dist/meta/tag-usage.entity.js +58 -0
  141. package/dist/meta/tag-usage.entity.js.map +1 -0
  142. package/dist/meta/validators/is-git-url.validator.d.ts +6 -0
  143. package/dist/meta/validators/is-git-url.validator.js +47 -0
  144. package/dist/meta/validators/is-git-url.validator.js.map +1 -0
  145. package/dist/meta/validators/is-git-url.validator.spec.d.ts +1 -0
  146. package/dist/meta/validators/is-git-url.validator.spec.js +73 -0
  147. package/dist/meta/validators/is-git-url.validator.spec.js.map +1 -0
  148. package/dist/migrations/1700000000001-AlignConnectionAuthFlowColumns.d.ts +6 -0
  149. package/dist/migrations/1700000000001-AlignConnectionAuthFlowColumns.js +46 -0
  150. package/dist/migrations/1700000000001-AlignConnectionAuthFlowColumns.js.map +1 -0
  151. package/dist/migrations/{1700000000001-UpdateAgentTypeConstraint.d.ts → 1700000000002-UpdateAgentTypeConstraint.d.ts} +1 -1
  152. package/dist/migrations/{1700000000001-UpdateAgentTypeConstraint.js → 1700000000002-UpdateAgentTypeConstraint.js} +5 -5
  153. package/dist/migrations/{1700000000001-UpdateAgentTypeConstraint.js.map → 1700000000002-UpdateAgentTypeConstraint.js.map} +1 -1
  154. package/dist/migrations/1739500000000-AddTaskBlueprintsAndScheduledTasks.d.ts +5 -0
  155. package/dist/migrations/1739500000000-AddTaskBlueprintsAndScheduledTasks.js +60 -0
  156. package/dist/migrations/1739500000000-AddTaskBlueprintsAndScheduledTasks.js.map +1 -0
  157. package/dist/migrations/1739750000000-RefactorThreadsForHeadlessConversations.d.ts +6 -0
  158. package/dist/migrations/1739750000000-RefactorThreadsForHeadlessConversations.js +109 -0
  159. package/dist/migrations/1739750000000-RefactorThreadsForHeadlessConversations.js.map +1 -0
  160. package/dist/migrations/1739844333000-RemoveRoleFromThreadMessage.d.ts +6 -0
  161. package/dist/migrations/1739844333000-RemoveRoleFromThreadMessage.js +61 -0
  162. package/dist/migrations/1739844333000-RemoveRoleFromThreadMessage.js.map +1 -0
  163. package/dist/migrations/1740000000000-AddSecretsTable.d.ts +5 -0
  164. package/dist/migrations/1740000000000-AddSecretsTable.js +32 -0
  165. package/dist/migrations/1740000000000-AddSecretsTable.js.map +1 -0
  166. package/dist/migrations/1740500000000-AddMcpServerTransportConfig.d.ts +5 -0
  167. package/dist/migrations/1740500000000-AddMcpServerTransportConfig.js +52 -0
  168. package/dist/migrations/1740500000000-AddMcpServerTransportConfig.js.map +1 -0
  169. package/dist/migrations/1741000000000-AddChatSessionIdToThreads.d.ts +6 -0
  170. package/dist/migrations/1741000000000-AddChatSessionIdToThreads.js +52 -0
  171. package/dist/migrations/1741000000000-AddChatSessionIdToThreads.js.map +1 -0
  172. package/dist/migrations/1741100000000-AddTagUsageTable.d.ts +6 -0
  173. package/dist/migrations/1741100000000-AddTagUsageTable.js +67 -0
  174. package/dist/migrations/1741100000000-AddTagUsageTable.js.map +1 -0
  175. package/dist/migrations/1741200000000-McpServerProvidedIdPartialUniqueIndex.d.ts +5 -0
  176. package/dist/migrations/1741200000000-McpServerProvidedIdPartialUniqueIndex.js +69 -0
  177. package/dist/migrations/1741200000000-McpServerProvidedIdPartialUniqueIndex.js.map +1 -0
  178. package/dist/migrations/1741300000000-AddHasSeenWalkthroughToUsers.d.ts +6 -0
  179. package/dist/migrations/1741300000000-AddHasSeenWalkthroughToUsers.js +43 -0
  180. package/dist/migrations/1741300000000-AddHasSeenWalkthroughToUsers.js.map +1 -0
  181. package/dist/public/assets/index-DlrnfsdV.js +14 -0
  182. package/dist/public/assets/index-KcLmbe3v.css +1 -0
  183. package/dist/public/beta/assets/index-BeS9PvAQ.js +85 -0
  184. package/dist/public/beta/index.html +1 -1
  185. package/dist/public/index.html +2 -2
  186. package/dist/secrets/dto/http/create-secret.dto.d.ts +5 -0
  187. package/dist/secrets/dto/http/create-secret.dto.js +50 -0
  188. package/dist/secrets/dto/http/create-secret.dto.js.map +1 -0
  189. package/dist/secrets/dto/http/secret-params.dto.d.ts +3 -0
  190. package/dist/secrets/dto/http/secret-params.dto.js +27 -0
  191. package/dist/secrets/dto/http/secret-params.dto.js.map +1 -0
  192. package/dist/secrets/dto/http/secret-response.dto.d.ts +15 -0
  193. package/dist/secrets/dto/http/secret-response.dto.js +112 -0
  194. package/dist/secrets/dto/http/secret-response.dto.js.map +1 -0
  195. package/dist/secrets/dto/http/update-secret.dto.d.ts +5 -0
  196. package/dist/secrets/dto/http/update-secret.dto.js +54 -0
  197. package/dist/secrets/dto/http/update-secret.dto.js.map +1 -0
  198. package/dist/secrets/dto/service/secrets.service.types.d.ts +26 -0
  199. package/dist/secrets/dto/service/secrets.service.types.js +3 -0
  200. package/dist/secrets/dto/service/secrets.service.types.js.map +1 -0
  201. package/dist/secrets/errors/secrets.errors.d.ts +21 -0
  202. package/dist/secrets/errors/secrets.errors.js +43 -0
  203. package/dist/secrets/errors/secrets.errors.js.map +1 -0
  204. package/dist/secrets/secret.entity.d.ts +14 -0
  205. package/dist/secrets/secret.entity.js +75 -0
  206. package/dist/secrets/secret.entity.js.map +1 -0
  207. package/dist/secrets/secrets-encryption.service.d.ts +8 -0
  208. package/dist/secrets/secrets-encryption.service.js +130 -0
  209. package/dist/secrets/secrets-encryption.service.js.map +1 -0
  210. package/dist/secrets/secrets.controller.d.ts +18 -0
  211. package/dist/secrets/secrets.controller.js +160 -0
  212. package/dist/secrets/secrets.controller.js.map +1 -0
  213. package/dist/secrets/secrets.module.d.ts +2 -0
  214. package/dist/secrets/secrets.module.js +31 -0
  215. package/dist/secrets/secrets.module.js.map +1 -0
  216. package/dist/secrets/secrets.scopes.d.ts +16 -0
  217. package/dist/secrets/secrets.scopes.js +19 -0
  218. package/dist/secrets/secrets.scopes.js.map +1 -0
  219. package/dist/secrets/secrets.service.d.ts +17 -0
  220. package/dist/secrets/secrets.service.js +147 -0
  221. package/dist/secrets/secrets.service.js.map +1 -0
  222. package/dist/task-blueprints/dto/create-scheduled-task.dto.d.ts +5 -0
  223. package/dist/task-blueprints/dto/create-scheduled-task.dto.js +49 -0
  224. package/dist/task-blueprints/dto/create-scheduled-task.dto.js.map +1 -0
  225. package/dist/task-blueprints/dto/create-task-blueprint.dto.d.ts +7 -0
  226. package/dist/task-blueprints/dto/create-task-blueprint.dto.js +72 -0
  227. package/dist/task-blueprints/dto/create-task-blueprint.dto.js.map +1 -0
  228. package/dist/task-blueprints/dto/list-scheduled-tasks-query.dto.d.ts +5 -0
  229. package/dist/task-blueprints/dto/list-scheduled-tasks-query.dto.js +62 -0
  230. package/dist/task-blueprints/dto/list-scheduled-tasks-query.dto.js.map +1 -0
  231. package/dist/task-blueprints/dto/list-task-blueprints-query.dto.d.ts +4 -0
  232. package/dist/task-blueprints/dto/list-task-blueprints-query.dto.js +45 -0
  233. package/dist/task-blueprints/dto/list-task-blueprints-query.dto.js.map +1 -0
  234. package/dist/task-blueprints/dto/scheduled-task-list-response.dto.d.ts +9 -0
  235. package/dist/task-blueprints/dto/scheduled-task-list-response.dto.js +58 -0
  236. package/dist/task-blueprints/dto/scheduled-task-list-response.dto.js.map +1 -0
  237. package/dist/task-blueprints/dto/scheduled-task-params.dto.d.ts +3 -0
  238. package/dist/task-blueprints/dto/scheduled-task-params.dto.js +27 -0
  239. package/dist/task-blueprints/dto/scheduled-task-params.dto.js.map +1 -0
  240. package/dist/task-blueprints/dto/scheduled-task-response.dto.d.ts +15 -0
  241. package/dist/task-blueprints/dto/scheduled-task-response.dto.js +115 -0
  242. package/dist/task-blueprints/dto/scheduled-task-response.dto.js.map +1 -0
  243. package/dist/task-blueprints/dto/service/scheduled-tasks.service.types.d.ts +34 -0
  244. package/dist/task-blueprints/dto/service/scheduled-tasks.service.types.js +3 -0
  245. package/dist/task-blueprints/dto/service/scheduled-tasks.service.types.js.map +1 -0
  246. package/dist/task-blueprints/dto/service/task-blueprints.service.types.d.ts +41 -0
  247. package/dist/task-blueprints/dto/service/task-blueprints.service.types.js +3 -0
  248. package/dist/task-blueprints/dto/service/task-blueprints.service.types.js.map +1 -0
  249. package/dist/task-blueprints/dto/task-blueprint-list-response.dto.d.ts +9 -0
  250. package/dist/task-blueprints/dto/task-blueprint-list-response.dto.js +58 -0
  251. package/dist/task-blueprints/dto/task-blueprint-list-response.dto.js.map +1 -0
  252. package/dist/task-blueprints/dto/task-blueprint-params.dto.d.ts +3 -0
  253. package/dist/task-blueprints/dto/task-blueprint-params.dto.js +27 -0
  254. package/dist/task-blueprints/dto/task-blueprint-params.dto.js.map +1 -0
  255. package/dist/task-blueprints/dto/task-blueprint-response.dto.d.ts +17 -0
  256. package/dist/task-blueprints/dto/task-blueprint-response.dto.js +127 -0
  257. package/dist/task-blueprints/dto/task-blueprint-response.dto.js.map +1 -0
  258. package/dist/task-blueprints/dto/update-scheduled-task.dto.d.ts +4 -0
  259. package/dist/task-blueprints/dto/update-scheduled-task.dto.js +38 -0
  260. package/dist/task-blueprints/dto/update-scheduled-task.dto.js.map +1 -0
  261. package/dist/task-blueprints/dto/update-task-blueprint.dto.d.ts +7 -0
  262. package/dist/task-blueprints/dto/update-task-blueprint.dto.js +73 -0
  263. package/dist/task-blueprints/dto/update-task-blueprint.dto.js.map +1 -0
  264. package/dist/task-blueprints/errors/task-blueprints.errors.d.ts +16 -0
  265. package/dist/task-blueprints/errors/task-blueprints.errors.js +37 -0
  266. package/dist/task-blueprints/errors/task-blueprints.errors.js.map +1 -0
  267. package/dist/task-blueprints/scheduled-task.entity.d.ts +14 -0
  268. package/dist/task-blueprints/scheduled-task.entity.js +79 -0
  269. package/dist/task-blueprints/scheduled-task.entity.js.map +1 -0
  270. package/dist/task-blueprints/scheduled-tasks.controller.d.ts +16 -0
  271. package/dist/task-blueprints/scheduled-tasks.controller.js +144 -0
  272. package/dist/task-blueprints/scheduled-tasks.controller.js.map +1 -0
  273. package/dist/task-blueprints/scheduled-tasks.service.d.ts +24 -0
  274. package/dist/task-blueprints/scheduled-tasks.service.js +258 -0
  275. package/dist/task-blueprints/scheduled-tasks.service.js.map +1 -0
  276. package/dist/task-blueprints/task-blueprint.entity.d.ts +19 -0
  277. package/dist/task-blueprints/task-blueprint.entity.js +107 -0
  278. package/dist/task-blueprints/task-blueprint.entity.js.map +1 -0
  279. package/dist/task-blueprints/task-blueprints.controller.d.ts +19 -0
  280. package/dist/task-blueprints/task-blueprints.controller.js +169 -0
  281. package/dist/task-blueprints/task-blueprints.controller.js.map +1 -0
  282. package/dist/task-blueprints/task-blueprints.module.d.ts +2 -0
  283. package/dist/task-blueprints/task-blueprints.module.js +44 -0
  284. package/dist/task-blueprints/task-blueprints.module.js.map +1 -0
  285. package/dist/task-blueprints/task-blueprints.service.d.ts +30 -0
  286. package/dist/task-blueprints/task-blueprints.service.js +286 -0
  287. package/dist/task-blueprints/task-blueprints.service.js.map +1 -0
  288. package/dist/task-blueprints/task-scheduler.service.d.ts +9 -0
  289. package/dist/task-blueprints/task-scheduler.service.js +99 -0
  290. package/dist/task-blueprints/task-scheduler.service.js.map +1 -0
  291. package/dist/tasks/dto/service/tasks.service.types.d.ts +2 -0
  292. package/dist/tasks/tasks.controller.d.ts +1 -1
  293. package/dist/tasks/tasks.controller.js +23 -11
  294. package/dist/tasks/tasks.controller.js.map +1 -1
  295. package/dist/tasks/tasks.mcp.gateway.d.ts +3 -1
  296. package/dist/tasks/tasks.mcp.gateway.js +204 -50
  297. package/dist/tasks/tasks.mcp.gateway.js.map +1 -1
  298. package/dist/tasks/tasks.service.js +24 -0
  299. package/dist/tasks/tasks.service.js.map +1 -1
  300. package/dist/threads/chat.service.d.ts +35 -0
  301. package/dist/threads/chat.service.js +222 -0
  302. package/dist/threads/chat.service.js.map +1 -0
  303. package/dist/threads/dto/create-thread-message.dto.d.ts +3 -0
  304. package/dist/threads/dto/create-thread-message.dto.js +27 -0
  305. package/dist/threads/dto/create-thread-message.dto.js.map +1 -0
  306. package/dist/threads/dto/create-thread.dto.d.ts +1 -1
  307. package/dist/threads/dto/create-thread.dto.js +3 -2
  308. package/dist/threads/dto/create-thread.dto.js.map +1 -1
  309. package/dist/threads/dto/list-thread-messages-query.dto.d.ts +4 -0
  310. package/dist/threads/dto/list-thread-messages-query.dto.js +49 -0
  311. package/dist/threads/dto/list-thread-messages-query.dto.js.map +1 -0
  312. package/dist/threads/dto/list-thread-messages-response.dto.d.ts +9 -0
  313. package/dist/threads/dto/list-thread-messages-response.dto.js +58 -0
  314. package/dist/threads/dto/list-thread-messages-response.dto.js.map +1 -0
  315. package/dist/threads/dto/service/threads.service.types.d.ts +28 -2
  316. package/dist/threads/dto/thread-list-item-response.dto.d.ts +1 -0
  317. package/dist/threads/dto/thread-list-item-response.dto.js +10 -0
  318. package/dist/threads/dto/thread-list-item-response.dto.js.map +1 -1
  319. package/dist/threads/dto/thread-message-response.dto.d.ts +14 -0
  320. package/dist/threads/dto/thread-message-response.dto.js +103 -0
  321. package/dist/threads/dto/thread-message-response.dto.js.map +1 -0
  322. package/dist/threads/dto/thread-response.dto.d.ts +2 -1
  323. package/dist/threads/dto/thread-response.dto.js +16 -3
  324. package/dist/threads/dto/thread-response.dto.js.map +1 -1
  325. package/dist/threads/dto/update-thread.dto.js.map +1 -1
  326. package/dist/threads/events/threads.events.d.ts +56 -0
  327. package/dist/threads/events/threads.events.js +67 -0
  328. package/dist/threads/events/threads.events.js.map +1 -0
  329. package/dist/threads/openai-mcp-server-factory.service.d.ts +8 -0
  330. package/dist/threads/openai-mcp-server-factory.service.js +114 -0
  331. package/dist/threads/openai-mcp-server-factory.service.js.map +1 -0
  332. package/dist/threads/thread-message.entity.d.ts +11 -0
  333. package/dist/threads/thread-message.entity.js +59 -0
  334. package/dist/threads/thread-message.entity.js.map +1 -0
  335. package/dist/threads/thread-state-reconciler.service.d.ts +26 -0
  336. package/dist/threads/thread-state-reconciler.service.js +250 -0
  337. package/dist/threads/thread-state-reconciler.service.js.map +1 -0
  338. package/dist/threads/thread-title.service.d.ts +11 -0
  339. package/dist/threads/thread-title.service.js +75 -0
  340. package/dist/threads/thread-title.service.js.map +1 -0
  341. package/dist/threads/thread.entity.d.ts +4 -1
  342. package/dist/threads/thread.entity.js +13 -2
  343. package/dist/threads/thread.entity.js.map +1 -1
  344. package/dist/threads/threads-state.service.spec.js +1 -0
  345. package/dist/threads/threads-state.service.spec.js.map +1 -1
  346. package/dist/threads/threads.controller.d.ts +7 -0
  347. package/dist/threads/threads.controller.js +72 -0
  348. package/dist/threads/threads.controller.js.map +1 -1
  349. package/dist/threads/threads.gateway.d.ts +34 -0
  350. package/dist/threads/threads.gateway.js +224 -0
  351. package/dist/threads/threads.gateway.js.map +1 -0
  352. package/dist/threads/threads.module.js +21 -1
  353. package/dist/threads/threads.module.js.map +1 -1
  354. package/dist/threads/threads.service.d.ts +34 -3
  355. package/dist/threads/threads.service.js +282 -19
  356. package/dist/threads/threads.service.js.map +1 -1
  357. package/dist/threads/threads.service.spec.js +2 -0
  358. package/dist/threads/threads.service.spec.js.map +1 -1
  359. package/dist/tsconfig.tsbuildinfo +1 -1
  360. package/package.json +11 -8
  361. package/dist/public/assets/index-BCPnRhO0.js +0 -11
  362. package/dist/public/assets/index-_FDBdUKK.css +0 -1
  363. package/dist/public/beta/assets/index-S66NF8rC.js +0 -85
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KeyedDebounceBatchProcessor = void 0;
4
+ class KeyedDebounceBatchProcessor {
5
+ options;
6
+ timers = new Map();
7
+ pending = new Map();
8
+ inFlight = new Set();
9
+ rerunRequested = new Set();
10
+ constructor(options) {
11
+ this.options = options;
12
+ }
13
+ enqueue(key, item) {
14
+ const existing = this.pending.get(key);
15
+ if (existing) {
16
+ existing.push(item);
17
+ }
18
+ else {
19
+ this.pending.set(key, [item]);
20
+ }
21
+ this.schedule(key);
22
+ }
23
+ dispose() {
24
+ for (const timer of this.timers.values()) {
25
+ clearTimeout(timer);
26
+ }
27
+ this.timers.clear();
28
+ this.pending.clear();
29
+ this.inFlight.clear();
30
+ this.rerunRequested.clear();
31
+ }
32
+ schedule(key) {
33
+ const existingTimer = this.timers.get(key);
34
+ if (existingTimer) {
35
+ clearTimeout(existingTimer);
36
+ }
37
+ const timer = setTimeout(() => {
38
+ this.timers.delete(key);
39
+ void this.flush(key);
40
+ }, this.options.delayMs);
41
+ this.timers.set(key, timer);
42
+ }
43
+ async flush(key) {
44
+ if (this.inFlight.has(key)) {
45
+ this.rerunRequested.add(key);
46
+ return;
47
+ }
48
+ const batch = this.pending.get(key);
49
+ if (!batch || batch.length === 0) {
50
+ return;
51
+ }
52
+ this.pending.delete(key);
53
+ this.inFlight.add(key);
54
+ try {
55
+ await this.options.handleBatch(key, batch);
56
+ }
57
+ catch (error) {
58
+ if (this.options.onError) {
59
+ const asError = error instanceof Error ? error : new Error(String(error));
60
+ this.options.onError(key, asError);
61
+ }
62
+ }
63
+ finally {
64
+ this.inFlight.delete(key);
65
+ }
66
+ const shouldRerun = this.rerunRequested.has(key);
67
+ if (shouldRerun) {
68
+ this.rerunRequested.delete(key);
69
+ }
70
+ if (shouldRerun || (this.pending.get(key)?.length ?? 0) > 0) {
71
+ this.schedule(key);
72
+ }
73
+ }
74
+ }
75
+ exports.KeyedDebounceBatchProcessor = KeyedDebounceBatchProcessor;
76
+ //# sourceMappingURL=keyed-debounce-batch-processor.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyed-debounce-batch-processor.util.js","sourceRoot":"","sources":["../../../src/common/utils/keyed-debounce-batch-processor.util.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import 'dotenv/config';
1
2
  export type NodeEnv = 'development' | 'production';
2
3
  export interface AppConfig {
3
4
  port: number;
@@ -14,8 +15,13 @@ export interface AppConfig {
14
15
  webRefreshTokenDurationDays: number;
15
16
  mcpClientPruneRetentionHours: number;
16
17
  vitePort: string;
18
+ openAiKey: string;
19
+ threadStateReconcilerEnabled: boolean;
20
+ threadStateReconcilerDebounceMs: number;
17
21
  }
18
22
  export declare function loadConfig(): AppConfig;
19
23
  export declare function getConfig(): AppConfig;
20
24
  export declare function isDevelopment(): boolean;
21
25
  export declare function isProduction(): boolean;
26
+ export declare function isSecretsEnabled(): boolean;
27
+ export declare function isThreadStateReconcilerEnabled(): boolean;
@@ -4,7 +4,10 @@ exports.loadConfig = loadConfig;
4
4
  exports.getConfig = getConfig;
5
5
  exports.isDevelopment = isDevelopment;
6
6
  exports.isProduction = isProduction;
7
+ exports.isSecretsEnabled = isSecretsEnabled;
8
+ exports.isThreadStateReconcilerEnabled = isThreadStateReconcilerEnabled;
7
9
  const common_1 = require("@nestjs/common");
10
+ require("dotenv/config");
8
11
  const logger = new common_1.Logger('EnvConfig');
9
12
  function loadConfig() {
10
13
  const backendPortValue = process.env.BACKEND_PORT || '3000';
@@ -24,6 +27,9 @@ function loadConfig() {
24
27
  webRefreshTokenDurationDays: parseInt(process.env.WEB_REFRESH_TOKEN_DURATION_DAYS || '1', 10),
25
28
  mcpClientPruneRetentionHours: parseFloat(process.env.MCP_CLIENT_PRUNE_RETENTION_HOURS || '0.75'),
26
29
  vitePort: uiPort,
30
+ openAiKey: getOpenAiKey(),
31
+ threadStateReconcilerEnabled: getThreadStateReconcilerEnabled(),
32
+ threadStateReconcilerDebounceMs: getThreadStateReconcilerDebounceMs(),
27
33
  };
28
34
  logger.log('Configuration loaded:');
29
35
  logger.log(` - Port: ${config.port}`);
@@ -32,6 +38,9 @@ function loadConfig() {
32
38
  logger.log(` - Callback URL: ${config.callbackUrl}`);
33
39
  logger.log(` - Database Path: ${config.databasePath}`);
34
40
  logger.log(` - MCP Client Prune Retention Hours: ${config.mcpClientPruneRetentionHours}`);
41
+ logger.log(` - OpenAI Key: ${config.openAiKey.slice(0, 3)}...`);
42
+ logger.log(` - Thread State Reconciler Enabled: ${config.threadStateReconcilerEnabled}`);
43
+ logger.log(` - Thread State Reconciler Debounce Ms: ${config.threadStateReconcilerDebounceMs}`);
35
44
  return config;
36
45
  }
37
46
  function getEnv() {
@@ -60,6 +69,19 @@ function getCallbackUrl() {
60
69
  const issuerUrl = getIssuerUrl();
61
70
  return `${issuerUrl}/api/v1/auth/callback`;
62
71
  }
72
+ function getOpenAiKey() {
73
+ return process.env.OPENAI_KEY || '';
74
+ }
75
+ function getThreadStateReconcilerEnabled() {
76
+ return process.env.THREAD_STATE_RECONCILER_ENABLED !== 'false';
77
+ }
78
+ function getThreadStateReconcilerDebounceMs() {
79
+ const parsed = parseInt(process.env.THREAD_STATE_RECONCILER_DEBOUNCE_MS || '20000', 10);
80
+ if (!Number.isFinite(parsed) || parsed <= 0) {
81
+ return 20000;
82
+ }
83
+ return parsed;
84
+ }
63
85
  let configInstance = null;
64
86
  function getConfig() {
65
87
  if (!configInstance) {
@@ -73,4 +95,10 @@ function isDevelopment() {
73
95
  function isProduction() {
74
96
  return getConfig().nodeEnv === 'production';
75
97
  }
98
+ function isSecretsEnabled() {
99
+ return process.env.SECRETS_ENABLED === 'true';
100
+ }
101
+ function isThreadStateReconcilerEnabled() {
102
+ return getConfig().threadStateReconcilerEnabled;
103
+ }
76
104
  //# sourceMappingURL=env.config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"env.config.js","sourceRoot":"","sources":["../../src/config/env.config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.config.js","sourceRoot":"","sources":["../../src/config/env.config.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,32 @@
1
1
  import { OnGatewayConnection, OnGatewayDisconnect, OnGatewayInit } from '@nestjs/websockets';
2
2
  import { Server, Socket } from 'socket.io';
3
3
  import { BlockCreatedEvent, BlockUpdatedEvent, BlockDeletedEvent } from './events/context.events';
4
+ import { ContextService } from './context.service';
5
+ type ContextSubscriptionPayload = {
6
+ blockId?: string;
7
+ };
4
8
  export declare class ContextGateway implements OnGatewayInit, OnGatewayConnection, OnGatewayDisconnect {
9
+ private readonly contextService;
10
+ constructor(contextService: ContextService);
5
11
  server: Server;
6
12
  private logger;
7
13
  afterInit(): void;
8
14
  handleConnection(client: Socket): void;
9
15
  handleDisconnect(client: Socket): void;
10
- subscribe(client: Socket): {
16
+ subscribe(client: Socket, body: ContextSubscriptionPayload): Promise<{
11
17
  ok: boolean;
12
18
  room: string;
13
- };
14
- unsubscribe(client: Socket): {
19
+ error?: undefined;
20
+ } | {
21
+ ok: boolean;
22
+ error: string;
23
+ room?: undefined;
24
+ }>;
25
+ unsubscribe(client: Socket, body: ContextSubscriptionPayload): {
15
26
  ok: boolean;
16
27
  };
17
28
  handleBlockCreated(event: BlockCreatedEvent): void;
18
29
  handleBlockUpdated(event: BlockUpdatedEvent): void;
19
30
  handleBlockDeleted(event: BlockDeletedEvent): void;
20
31
  }
32
+ export {};
@@ -25,8 +25,14 @@ const ws_scopes_guard_1 = require("../auth/guards/guards/ws-scopes.guard");
25
25
  const require_scopes_decorator_1 = require("../auth/guards/decorators/require-scopes.decorator");
26
26
  const ws_access_token_guard_1 = require("../auth/guards/guards/ws-access-token-guard");
27
27
  const context_scopes_1 = require("./context.scopes");
28
+ const context_service_1 = require("./context.service");
28
29
  const CONTEXT_ROOM = 'context';
30
+ const getBlockRoomName = (blockId) => `${CONTEXT_ROOM}-${blockId}`;
29
31
  let ContextGateway = ContextGateway_1 = class ContextGateway {
32
+ contextService;
33
+ constructor(contextService) {
34
+ this.contextService = contextService;
35
+ }
30
36
  server;
31
37
  logger = new common_1.Logger(ContextGateway_1.name);
32
38
  afterInit() {
@@ -38,12 +44,27 @@ let ContextGateway = ContextGateway_1 = class ContextGateway {
38
44
  handleDisconnect(client) {
39
45
  this.logger.log(`Client disconnected: ${client.id}`);
40
46
  }
41
- subscribe(client) {
42
- client.join(CONTEXT_ROOM);
43
- return { ok: true, room: CONTEXT_ROOM };
47
+ async subscribe(client, body) {
48
+ if (!body?.blockId) {
49
+ client.join(CONTEXT_ROOM);
50
+ return { ok: true, room: CONTEXT_ROOM };
51
+ }
52
+ try {
53
+ await this.contextService.getBlockById(body.blockId);
54
+ }
55
+ catch {
56
+ return { ok: false, error: 'block not found' };
57
+ }
58
+ const room = getBlockRoomName(body.blockId);
59
+ client.join(room);
60
+ return { ok: true, room };
44
61
  }
45
- unsubscribe(client) {
46
- client.leave(CONTEXT_ROOM);
62
+ unsubscribe(client, body) {
63
+ if (!body?.blockId) {
64
+ client.leave(CONTEXT_ROOM);
65
+ return { ok: true };
66
+ }
67
+ client.leave(getBlockRoomName(body.blockId));
47
68
  return { ok: true };
48
69
  }
49
70
  handleBlockCreated(event) {
@@ -64,6 +85,12 @@ let ContextGateway = ContextGateway_1 = class ContextGateway {
64
85
  payload: dto,
65
86
  actor: event.actor,
66
87
  });
88
+ this.server
89
+ .to(getBlockRoomName(event.block.id))
90
+ .emit(context_wire_events_1.ContextWireEvents.CONTEXT_BLOCK_UPDATED, {
91
+ payload: dto,
92
+ actor: event.actor,
93
+ });
67
94
  this.logger.debug({
68
95
  message: 'Block updated event emitted',
69
96
  blockId: event.block.id,
@@ -75,6 +102,12 @@ let ContextGateway = ContextGateway_1 = class ContextGateway {
75
102
  payload: { blockId: event.blockId },
76
103
  actor: event.actor,
77
104
  });
105
+ this.server
106
+ .to(getBlockRoomName(event.blockId))
107
+ .emit(context_wire_events_1.ContextWireEvents.CONTEXT_BLOCK_DELETED, {
108
+ payload: { blockId: event.blockId },
109
+ actor: event.actor,
110
+ });
78
111
  this.logger.debug({
79
112
  message: 'Block deleted event emitted',
80
113
  blockId: event.blockId,
@@ -90,15 +123,17 @@ __decorate([
90
123
  __decorate([
91
124
  (0, websockets_1.SubscribeMessage)('context.subscribe'),
92
125
  __param(0, (0, websockets_1.ConnectedSocket)()),
126
+ __param(1, (0, websockets_1.MessageBody)()),
93
127
  __metadata("design:type", Function),
94
- __metadata("design:paramtypes", [socket_io_1.Socket]),
95
- __metadata("design:returntype", void 0)
128
+ __metadata("design:paramtypes", [socket_io_1.Socket, Object]),
129
+ __metadata("design:returntype", Promise)
96
130
  ], ContextGateway.prototype, "subscribe", null);
97
131
  __decorate([
98
132
  (0, websockets_1.SubscribeMessage)('context.unsubscribe'),
99
133
  __param(0, (0, websockets_1.ConnectedSocket)()),
134
+ __param(1, (0, websockets_1.MessageBody)()),
100
135
  __metadata("design:type", Function),
101
- __metadata("design:paramtypes", [socket_io_1.Socket]),
136
+ __metadata("design:paramtypes", [socket_io_1.Socket, Object]),
102
137
  __metadata("design:returntype", void 0)
103
138
  ], ContextGateway.prototype, "unsubscribe", null);
104
139
  __decorate([
@@ -127,6 +162,7 @@ exports.ContextGateway = ContextGateway = ContextGateway_1 = __decorate([
127
162
  origin: '*',
128
163
  },
129
164
  namespace: '/context',
130
- })
165
+ }),
166
+ __metadata("design:paramtypes", [context_service_1.ContextService])
131
167
  ], ContextGateway);
132
168
  //# sourceMappingURL=context.gateway.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.gateway.js","sourceRoot":"","sources":["../../src/context/context.gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.gateway.js","sourceRoot":"","sources":["../../src/context/context.gateway.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,13 @@ import { ContextService } from './context.service';
3
3
  import { ActorService } from 'src/identity-provider/actor.service';
4
4
  import { MetaService } from 'src/meta/meta.service';
5
5
  import { AuthContext, UserContext } from 'src/auth/guards/context/auth-context.types';
6
+ import { ThreadsService } from 'src/threads/threads.service';
6
7
  export declare class ContextMcpGateway {
7
8
  private readonly contextService;
8
9
  private readonly metaService;
9
10
  private readonly actorService;
10
- constructor(contextService: ContextService, metaService: MetaService, actorService: ActorService);
11
+ private readonly threadsService;
12
+ constructor(contextService: ContextService, metaService: MetaService, actorService: ActorService, threadsService: ThreadsService);
11
13
  private buildServer;
12
14
  handleRequest(req: Request, res: Response, user: UserContext, authContext: AuthContext): Promise<void>;
13
15
  }
@@ -14,19 +14,28 @@ const common_1 = require("@nestjs/common");
14
14
  const context_service_1 = require("./context.service");
15
15
  const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
16
16
  const streamableHttp_js_1 = require("@modelcontextprotocol/sdk/server/streamableHttp.js");
17
- const zod_1 = require("zod");
17
+ const v3_1 = require("zod/v3");
18
18
  const actor_service_1 = require("../identity-provider/actor.service");
19
19
  const meta_service_1 = require("../meta/meta.service");
20
+ const threads_service_1 = require("../threads/threads.service");
20
21
  let ContextMcpGateway = class ContextMcpGateway {
21
22
  contextService;
22
23
  metaService;
23
24
  actorService;
24
- constructor(contextService, metaService, actorService) {
25
+ threadsService;
26
+ constructor(contextService, metaService, actorService, threadsService) {
25
27
  this.contextService = contextService;
26
28
  this.metaService = metaService;
27
29
  this.actorService = actorService;
30
+ this.threadsService = threadsService;
28
31
  }
29
32
  buildServer(user, authContext) {
33
+ const readOnlyAnnotations = {
34
+ readOnlyHint: true,
35
+ };
36
+ const destructiveAnnotations = {
37
+ destructiveHint: true,
38
+ };
30
39
  const server = new mcp_js_1.McpServer({
31
40
  name: 'context',
32
41
  version: '0.0.0',
@@ -34,8 +43,9 @@ let ContextMcpGateway = class ContextMcpGateway {
34
43
  server.registerTool('list_blocks', {
35
44
  title: 'List context blocks',
36
45
  description: 'Get a list of all context blocks with metadata (title, id, author)',
46
+ annotations: readOnlyAnnotations,
37
47
  inputSchema: {
38
- tag: zod_1.z.string().optional(),
48
+ tag: v3_1.z.string().optional(),
39
49
  },
40
50
  }, async ({ tag }) => {
41
51
  const blocks = await this.contextService.listBlocks({ tag });
@@ -48,11 +58,71 @@ let ContextMcpGateway = class ContextMcpGateway {
48
58
  ],
49
59
  };
50
60
  });
61
+ server.registerTool('get_thread_state_memory', {
62
+ title: 'Get thread state memory',
63
+ description: 'Get the thread state memory block content and metadata by thread ID.',
64
+ annotations: readOnlyAnnotations,
65
+ inputSchema: {
66
+ threadId: v3_1.z.string(),
67
+ },
68
+ }, async ({ threadId }) => {
69
+ const thread = await this.threadsService.getThreadById(threadId);
70
+ const state = await this.threadsService.getThreadState(threadId);
71
+ return {
72
+ content: [
73
+ {
74
+ type: 'text',
75
+ text: JSON.stringify({
76
+ threadId,
77
+ stateContextBlockId: thread.stateContextBlockId,
78
+ content: state,
79
+ }),
80
+ },
81
+ ],
82
+ };
83
+ });
84
+ server.registerTool('attach_block_to_thread', {
85
+ title: 'Attach context block to thread',
86
+ description: 'Attach a context block to a thread by IDs',
87
+ inputSchema: {
88
+ threadId: v3_1.z.string(),
89
+ blockId: v3_1.z.string(),
90
+ },
91
+ }, async ({ threadId, blockId }) => {
92
+ await this.threadsService.referenceContextBlock(threadId, blockId);
93
+ return {
94
+ content: [
95
+ {
96
+ type: 'text',
97
+ text: 'done',
98
+ },
99
+ ],
100
+ };
101
+ });
102
+ server.registerTool('detach_block_from_thread', {
103
+ title: 'Detach context block from thread',
104
+ description: 'Detach a context block from a thread by IDs',
105
+ inputSchema: {
106
+ threadId: v3_1.z.string(),
107
+ blockId: v3_1.z.string(),
108
+ },
109
+ }, async ({ threadId, blockId }) => {
110
+ await this.threadsService.unreferenceContextBlock(threadId, blockId);
111
+ return {
112
+ content: [
113
+ {
114
+ type: 'text',
115
+ text: 'done',
116
+ },
117
+ ],
118
+ };
119
+ });
51
120
  server.registerTool('get_block', {
52
121
  title: 'Get context block',
53
122
  description: 'Retrieve the full content of a context block by ID',
123
+ annotations: readOnlyAnnotations,
54
124
  inputSchema: {
55
- blockId: zod_1.z.string(),
125
+ blockId: v3_1.z.string(),
56
126
  },
57
127
  }, async ({ blockId }) => {
58
128
  const block = await this.contextService.getBlockById(blockId);
@@ -69,10 +139,10 @@ let ContextMcpGateway = class ContextMcpGateway {
69
139
  title: 'Create context block',
70
140
  description: 'Create a new context block with title, content, author, and optional parent',
71
141
  inputSchema: {
72
- title: zod_1.z.string(),
73
- content: zod_1.z.string(),
74
- parentId: zod_1.z.string().optional(),
75
- tagNames: zod_1.z.array(zod_1.z.string()).optional(),
142
+ title: v3_1.z.string(),
143
+ content: v3_1.z.string(),
144
+ parentId: v3_1.z.string().optional(),
145
+ tagNames: v3_1.z.array(v3_1.z.string()).optional(),
76
146
  },
77
147
  }, async ({ title, content, parentId, tagNames }) => {
78
148
  const block = await this.contextService.createBlock({
@@ -95,25 +165,30 @@ let ContextMcpGateway = class ContextMcpGateway {
95
165
  title: 'Update context block',
96
166
  description: 'Update the title, content, author, parent, or tags of an existing context block',
97
167
  inputSchema: {
98
- blockId: zod_1.z.string(),
99
- title: zod_1.z.string().optional(),
100
- content: zod_1.z.string().optional(),
101
- author: zod_1.z.string().optional(),
102
- parentId: zod_1.z.string().nullable().optional(),
103
- tagNames: zod_1.z.array(zod_1.z.string()).optional(),
168
+ blockId: v3_1.z.string(),
169
+ title: v3_1.z.string().optional(),
170
+ content: v3_1.z.string().optional(),
171
+ author: v3_1.z.string().optional(),
172
+ parentId: v3_1.z.string().optional(),
173
+ clearParent: v3_1.z.boolean().optional(),
174
+ tagNames: v3_1.z.array(v3_1.z.string()).optional(),
104
175
  },
105
- }, async ({ blockId, title, content, author, parentId, tagNames }) => {
176
+ }, async ({ blockId, title, content, author, parentId, clearParent, tagNames }) => {
177
+ if (clearParent && parentId !== undefined) {
178
+ throw new Error('Provide either parentId or clearParent=true, not both.');
179
+ }
180
+ const nextParentId = clearParent === true ? null : parentId;
106
181
  if (title === undefined &&
107
182
  content === undefined &&
108
183
  author === undefined &&
109
- parentId === undefined &&
184
+ nextParentId === undefined &&
110
185
  tagNames === undefined) {
111
186
  throw new Error('At least one field must be provided to update the block.');
112
187
  }
113
188
  const block = await this.contextService.updateBlock(blockId, {
114
189
  title,
115
190
  content,
116
- parentId,
191
+ parentId: nextParentId,
117
192
  tagNames,
118
193
  actorId: user.actorId,
119
194
  });
@@ -130,8 +205,8 @@ let ContextMcpGateway = class ContextMcpGateway {
130
205
  title: 'Append context block content',
131
206
  description: 'Append markdown content to the end of an existing context block',
132
207
  inputSchema: {
133
- blockId: zod_1.z.string(),
134
- content: zod_1.z.string(),
208
+ blockId: v3_1.z.string(),
209
+ content: v3_1.z.string(),
135
210
  },
136
211
  }, async ({ blockId, content }) => {
137
212
  const block = await this.contextService.appendToBlock(blockId, {
@@ -150,8 +225,9 @@ let ContextMcpGateway = class ContextMcpGateway {
150
225
  server.registerTool('delete_block', {
151
226
  title: 'Delete context block',
152
227
  description: 'Delete a context block by its identifier',
228
+ annotations: destructiveAnnotations,
153
229
  inputSchema: {
154
- blockId: zod_1.z.string(),
230
+ blockId: v3_1.z.string(),
155
231
  },
156
232
  }, async ({ blockId }) => {
157
233
  await this.contextService.deleteBlock(blockId, user.actorId);
@@ -168,8 +244,8 @@ let ContextMcpGateway = class ContextMcpGateway {
168
244
  title: 'Add tag to block',
169
245
  description: 'Add a tag to a context block by tag name (creates tag if it does not exist)',
170
246
  inputSchema: {
171
- blockId: zod_1.z.string(),
172
- tagName: zod_1.z.string(),
247
+ blockId: v3_1.z.string(),
248
+ tagName: v3_1.z.string(),
173
249
  },
174
250
  }, async ({ blockId, tagName }) => {
175
251
  await this.contextService.addTagToBlock(blockId, {
@@ -188,8 +264,8 @@ let ContextMcpGateway = class ContextMcpGateway {
188
264
  title: 'Remove tag from block',
189
265
  description: 'Remove a tag from a context block',
190
266
  inputSchema: {
191
- blockId: zod_1.z.string(),
192
- tagId: zod_1.z.string(),
267
+ blockId: v3_1.z.string(),
268
+ tagId: v3_1.z.string(),
193
269
  },
194
270
  }, async ({ blockId, tagId }) => {
195
271
  await this.contextService.removeTagFromBlock(blockId, tagId, user.actorId);
@@ -205,6 +281,7 @@ let ContextMcpGateway = class ContextMcpGateway {
205
281
  server.registerTool('get_all_tags', {
206
282
  title: 'Get all tags',
207
283
  description: 'List all available tags',
284
+ annotations: readOnlyAnnotations,
208
285
  }, async ({}) => {
209
286
  const tags = await this.metaService.getAllTags();
210
287
  return {
@@ -218,12 +295,13 @@ let ContextMcpGateway = class ContextMcpGateway {
218
295
  });
219
296
  server.registerTool('get_child_blocks', {
220
297
  title: 'Get child blocks',
221
- description: 'Get all child blocks for a given parent block ID (or null for root blocks)',
298
+ description: 'Get all child blocks for a given parent block ID (omit parentId for root blocks)',
299
+ annotations: readOnlyAnnotations,
222
300
  inputSchema: {
223
- parentId: zod_1.z.string().nullable(),
301
+ parentId: v3_1.z.string().optional(),
224
302
  },
225
303
  }, async ({ parentId }) => {
226
- const children = await this.contextService.getChildBlocks(parentId);
304
+ const children = await this.contextService.getChildBlocks(parentId ?? null);
227
305
  return {
228
306
  content: [
229
307
  {
@@ -236,6 +314,7 @@ let ContextMcpGateway = class ContextMcpGateway {
236
314
  server.registerTool('get_block_tree', {
237
315
  title: 'Get block tree',
238
316
  description: 'Get the complete hierarchical tree structure of all blocks',
317
+ annotations: readOnlyAnnotations,
239
318
  }, async ({}) => {
240
319
  const tree = await this.contextService.getBlockTree();
241
320
  return {
@@ -267,6 +346,7 @@ exports.ContextMcpGateway = ContextMcpGateway = __decorate([
267
346
  (0, common_1.Injectable)(),
268
347
  __metadata("design:paramtypes", [context_service_1.ContextService,
269
348
  meta_service_1.MetaService,
270
- actor_service_1.ActorService])
349
+ actor_service_1.ActorService,
350
+ threads_service_1.ThreadsService])
271
351
  ], ContextMcpGateway);
272
352
  //# sourceMappingURL=context.mcp.gateway.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.mcp.gateway.js","sourceRoot":"","sources":["../../src/context/context.mcp.gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.mcp.gateway.js","sourceRoot":"","sources":["../../src/context/context.mcp.gateway.ts"],"names":[],"mappings":"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"}