crewly 1.13.1 → 1.14.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 (424) hide show
  1. package/config/constants.ts +8 -0
  2. package/config/roles/orchestrator/prompt.md +23 -0
  3. package/config/skills/agent/core/reply-channel/SKILL.md +6 -0
  4. package/config/skills/agent/core/reply-channel/execute.sh +14 -2
  5. package/config/skills/agent/core/slack-post/SKILL.md +126 -0
  6. package/config/skills/agent/core/slack-post/execute.sh +127 -0
  7. package/config/skills/agent/remote-browser/SKILL.md +178 -0
  8. package/config/skills/agent/xiaoyuzhoufm-transcript/SKILL.md +46 -22
  9. package/config/skills/agent/xiaoyuzhoufm-transcript/execute.sh +82 -214
  10. package/config/skills/agent/xiaoyuzhoufm-transcript/skill.json +3 -3
  11. package/config/skills/orchestrator/get-team-status/SKILL.md +5 -1
  12. package/config/skills/orchestrator/get-team-status/execute.sh +28 -2
  13. package/config/slack-app-manifest.json +7 -1
  14. package/dist/backend/backend/src/config/oauth.config.d.ts +93 -19
  15. package/dist/backend/backend/src/config/oauth.config.d.ts.map +1 -1
  16. package/dist/backend/backend/src/config/oauth.config.js +121 -19
  17. package/dist/backend/backend/src/config/oauth.config.js.map +1 -1
  18. package/dist/backend/backend/src/constants.d.ts +60 -0
  19. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  20. package/dist/backend/backend/src/constants.js +74 -0
  21. package/dist/backend/backend/src/constants.js.map +1 -1
  22. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
  23. package/dist/backend/backend/src/controllers/chat/chat.controller.js +33 -4
  24. package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
  25. package/dist/backend/backend/src/controllers/credentials/google-oauth.controller.d.ts.map +1 -1
  26. package/dist/backend/backend/src/controllers/credentials/google-oauth.controller.js +27 -9
  27. package/dist/backend/backend/src/controllers/credentials/google-oauth.controller.js.map +1 -1
  28. package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
  29. package/dist/backend/backend/src/controllers/slack/slack.controller.js +342 -0
  30. package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
  31. package/dist/backend/backend/src/index.d.ts.map +1 -1
  32. package/dist/backend/backend/src/index.js +23 -7
  33. package/dist/backend/backend/src/index.js.map +1 -1
  34. package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts +10 -0
  35. package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts.map +1 -1
  36. package/dist/backend/backend/src/services/agent/idle-detection.service.js +37 -0
  37. package/dist/backend/backend/src/services/agent/idle-detection.service.js.map +1 -1
  38. package/dist/backend/backend/src/services/browser/browser-bridge.service.d.ts.map +1 -1
  39. package/dist/backend/backend/src/services/browser/browser-bridge.service.js +13 -11
  40. package/dist/backend/backend/src/services/browser/browser-bridge.service.js.map +1 -1
  41. package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts +14 -0
  42. package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts.map +1 -1
  43. package/dist/backend/backend/src/services/browser/browser-proxy.service.js +56 -0
  44. package/dist/backend/backend/src/services/browser/browser-proxy.service.js.map +1 -1
  45. package/dist/backend/backend/src/services/browser/browser-services.registry.d.ts +63 -0
  46. package/dist/backend/backend/src/services/browser/browser-services.registry.d.ts.map +1 -0
  47. package/dist/backend/backend/src/services/browser/browser-services.registry.js +74 -0
  48. package/dist/backend/backend/src/services/browser/browser-services.registry.js.map +1 -0
  49. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +25 -1
  50. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  51. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +19 -7
  52. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  53. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +57 -0
  54. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  55. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +110 -1
  56. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  57. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts +21 -0
  58. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
  59. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js +43 -0
  60. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
  61. package/dist/backend/backend/src/services/core/storage.service.d.ts +6 -0
  62. package/dist/backend/backend/src/services/core/storage.service.d.ts.map +1 -1
  63. package/dist/backend/backend/src/services/core/storage.service.js +1 -1
  64. package/dist/backend/backend/src/services/core/storage.service.js.map +1 -1
  65. package/dist/backend/backend/src/services/credential/helpers/gemini-cli-workspace.helper.d.ts.map +1 -1
  66. package/dist/backend/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js +6 -2
  67. package/dist/backend/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js.map +1 -1
  68. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.d.ts.map +1 -1
  69. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js +14 -0
  70. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js.map +1 -1
  71. package/dist/backend/backend/src/services/orc/orc-delivery-enforcer.service.d.ts +8 -0
  72. package/dist/backend/backend/src/services/orc/orc-delivery-enforcer.service.d.ts.map +1 -1
  73. package/dist/backend/backend/src/services/orc/orc-delivery-enforcer.service.js +31 -3
  74. package/dist/backend/backend/src/services/orc/orc-delivery-enforcer.service.js.map +1 -1
  75. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts +34 -0
  76. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts.map +1 -1
  77. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js +99 -10
  78. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
  79. package/dist/backend/backend/src/services/slack/slack-agent-identity.service.d.ts +209 -0
  80. package/dist/backend/backend/src/services/slack/slack-agent-identity.service.d.ts.map +1 -0
  81. package/dist/backend/backend/src/services/slack/slack-agent-identity.service.js +416 -0
  82. package/dist/backend/backend/src/services/slack/slack-agent-identity.service.js.map +1 -0
  83. package/dist/backend/backend/src/services/slack/slack-agent-post.service.d.ts +124 -0
  84. package/dist/backend/backend/src/services/slack/slack-agent-post.service.d.ts.map +1 -0
  85. package/dist/backend/backend/src/services/slack/slack-agent-post.service.js +243 -0
  86. package/dist/backend/backend/src/services/slack/slack-agent-post.service.js.map +1 -0
  87. package/dist/backend/backend/src/services/slack/slack-initializer.d.ts +11 -0
  88. package/dist/backend/backend/src/services/slack/slack-initializer.d.ts.map +1 -1
  89. package/dist/backend/backend/src/services/slack/slack-initializer.js +56 -0
  90. package/dist/backend/backend/src/services/slack/slack-initializer.js.map +1 -1
  91. package/dist/backend/backend/src/services/slack/slack-mention-resolver.d.ts +103 -0
  92. package/dist/backend/backend/src/services/slack/slack-mention-resolver.d.ts.map +1 -0
  93. package/dist/backend/backend/src/services/slack/slack-mention-resolver.js +197 -0
  94. package/dist/backend/backend/src/services/slack/slack-mention-resolver.js.map +1 -0
  95. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  96. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +18 -0
  97. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  98. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +329 -0
  99. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -0
  100. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +821 -0
  101. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -0
  102. package/dist/backend/backend/src/services/slack/slack.service.d.ts +116 -1
  103. package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
  104. package/dist/backend/backend/src/services/slack/slack.service.js +297 -3
  105. package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
  106. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts +22 -0
  107. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
  108. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +71 -0
  109. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
  110. package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.d.ts +20 -2
  111. package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.d.ts.map +1 -1
  112. package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.js +27 -2
  113. package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.js.map +1 -1
  114. package/dist/backend/backend/src/services/wiki/wiki-reflect-trigger.service.d.ts +15 -2
  115. package/dist/backend/backend/src/services/wiki/wiki-reflect-trigger.service.d.ts.map +1 -1
  116. package/dist/backend/backend/src/services/wiki/wiki-reflect-trigger.service.js +33 -7
  117. package/dist/backend/backend/src/services/wiki/wiki-reflect-trigger.service.js.map +1 -1
  118. package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.d.ts +37 -0
  119. package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.d.ts.map +1 -1
  120. package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.js +74 -8
  121. package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.js.map +1 -1
  122. package/dist/backend/backend/src/types/slack.types.d.ts +87 -0
  123. package/dist/backend/backend/src/types/slack.types.d.ts.map +1 -1
  124. package/dist/backend/backend/src/types/slack.types.js.map +1 -1
  125. package/dist/backend/build-info.json +2 -2
  126. package/dist/backend/config/constants.d.ts +8 -0
  127. package/dist/backend/config/constants.d.ts.map +1 -1
  128. package/dist/backend/config/constants.js +8 -0
  129. package/dist/backend/config/constants.js.map +1 -1
  130. package/dist/cli/backend/src/config/oauth.config.d.ts +93 -19
  131. package/dist/cli/backend/src/config/oauth.config.d.ts.map +1 -1
  132. package/dist/cli/backend/src/config/oauth.config.js +121 -19
  133. package/dist/cli/backend/src/config/oauth.config.js.map +1 -1
  134. package/dist/cli/backend/src/constants.d.ts +60 -0
  135. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  136. package/dist/cli/backend/src/constants.js +74 -0
  137. package/dist/cli/backend/src/constants.js.map +1 -1
  138. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +292 -0
  139. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -0
  140. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +420 -0
  141. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -0
  142. package/dist/cli/backend/src/services/chat-v2/chat-v2.mention-resolver.d.ts +134 -0
  143. package/dist/cli/backend/src/services/chat-v2/chat-v2.mention-resolver.d.ts.map +1 -0
  144. package/dist/cli/backend/src/services/chat-v2/chat-v2.mention-resolver.js +232 -0
  145. package/dist/cli/backend/src/services/chat-v2/chat-v2.mention-resolver.js.map +1 -0
  146. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts +57 -0
  147. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  148. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js +110 -1
  149. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  150. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts +21 -0
  151. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
  152. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js +43 -0
  153. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
  154. package/dist/cli/backend/src/services/core/storage.service.d.ts +6 -0
  155. package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -1
  156. package/dist/cli/backend/src/services/core/storage.service.js +1 -1
  157. package/dist/cli/backend/src/services/core/storage.service.js.map +1 -1
  158. package/dist/cli/backend/src/services/credential/helpers/gemini-cli-workspace.helper.d.ts.map +1 -1
  159. package/dist/cli/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js +6 -2
  160. package/dist/cli/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js.map +1 -1
  161. package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.d.ts +8 -0
  162. package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.d.ts.map +1 -1
  163. package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.js +31 -3
  164. package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.js.map +1 -1
  165. package/dist/cli/backend/src/services/slack/slack-agent-identity.service.d.ts +209 -0
  166. package/dist/cli/backend/src/services/slack/slack-agent-identity.service.d.ts.map +1 -0
  167. package/dist/cli/backend/src/services/slack/slack-agent-identity.service.js +416 -0
  168. package/dist/cli/backend/src/services/slack/slack-agent-identity.service.js.map +1 -0
  169. package/dist/cli/backend/src/services/slack/slack-mention-resolver.d.ts +103 -0
  170. package/dist/cli/backend/src/services/slack/slack-mention-resolver.d.ts.map +1 -0
  171. package/dist/cli/backend/src/services/slack/slack-mention-resolver.js +197 -0
  172. package/dist/cli/backend/src/services/slack/slack-mention-resolver.js.map +1 -0
  173. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  174. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js +18 -0
  175. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  176. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +329 -0
  177. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -0
  178. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +821 -0
  179. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -0
  180. package/dist/cli/backend/src/services/slack/slack.service.d.ts +116 -1
  181. package/dist/cli/backend/src/services/slack/slack.service.d.ts.map +1 -1
  182. package/dist/cli/backend/src/services/slack/slack.service.js +297 -3
  183. package/dist/cli/backend/src/services/slack/slack.service.js.map +1 -1
  184. package/dist/cli/backend/src/types/slack.types.d.ts +87 -0
  185. package/dist/cli/backend/src/types/slack.types.d.ts.map +1 -1
  186. package/dist/cli/backend/src/types/slack.types.js.map +1 -1
  187. package/dist/cli/backend/src/utils/team.utils.d.ts +40 -0
  188. package/dist/cli/backend/src/utils/team.utils.d.ts.map +1 -0
  189. package/dist/cli/backend/src/utils/team.utils.js +66 -0
  190. package/dist/cli/backend/src/utils/team.utils.js.map +1 -0
  191. package/dist/cli/cli/src/index.js +0 -0
  192. package/dist/cli/config/constants.d.ts +8 -0
  193. package/dist/cli/config/constants.d.ts.map +1 -1
  194. package/dist/cli/config/constants.js +8 -0
  195. package/dist/cli/config/constants.js.map +1 -1
  196. package/frontend/dist/assets/{index-890d3f9d.js → index-190a957f.js} +294 -294
  197. package/frontend/dist/assets/{index-8205ea5e.css → index-88feb412.css} +1 -1
  198. package/frontend/dist/index.html +2 -2
  199. package/package.json +1 -1
  200. package/dist/backend/backend/src/controllers/knowledge/index.d.ts +0 -7
  201. package/dist/backend/backend/src/controllers/knowledge/index.d.ts.map +0 -1
  202. package/dist/backend/backend/src/controllers/knowledge/index.js +0 -7
  203. package/dist/backend/backend/src/controllers/knowledge/index.js.map +0 -1
  204. package/dist/backend/backend/src/controllers/knowledge/knowledge.controller.d.ts +0 -71
  205. package/dist/backend/backend/src/controllers/knowledge/knowledge.controller.d.ts.map +0 -1
  206. package/dist/backend/backend/src/controllers/knowledge/knowledge.controller.js +0 -237
  207. package/dist/backend/backend/src/controllers/knowledge/knowledge.controller.js.map +0 -1
  208. package/dist/backend/backend/src/controllers/knowledge/knowledge.routes.d.ts +0 -24
  209. package/dist/backend/backend/src/controllers/knowledge/knowledge.routes.d.ts.map +0 -1
  210. package/dist/backend/backend/src/controllers/knowledge/knowledge.routes.js +0 -34
  211. package/dist/backend/backend/src/controllers/knowledge/knowledge.routes.js.map +0 -1
  212. package/dist/backend/backend/src/controllers/scheduler/unified-scheduler.controller.d.ts +0 -91
  213. package/dist/backend/backend/src/controllers/scheduler/unified-scheduler.controller.d.ts.map +0 -1
  214. package/dist/backend/backend/src/controllers/scheduler/unified-scheduler.controller.js +0 -290
  215. package/dist/backend/backend/src/controllers/scheduler/unified-scheduler.controller.js.map +0 -1
  216. package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts +0 -169
  217. package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts.map +0 -1
  218. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js +0 -1779
  219. package/dist/backend/backend/src/controllers/task-management/task-management.controller.js.map +0 -1
  220. package/dist/backend/backend/src/index.js.orc-bak-20260529 +0 -3130
  221. package/dist/backend/backend/src/routes/modules/unified-scheduler.routes.d.ts +0 -27
  222. package/dist/backend/backend/src/routes/modules/unified-scheduler.routes.d.ts.map +0 -1
  223. package/dist/backend/backend/src/routes/modules/unified-scheduler.routes.js +0 -40
  224. package/dist/backend/backend/src/routes/modules/unified-scheduler.routes.js.map +0 -1
  225. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts +0 -513
  226. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts.map +0 -1
  227. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js +0 -1568
  228. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js.map +0 -1
  229. package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.d.ts +0 -86
  230. package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.d.ts.map +0 -1
  231. package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.js +0 -147
  232. package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.js.map +0 -1
  233. package/dist/backend/backend/src/services/agent/crewly-agent/api-client.d.ts +0 -68
  234. package/dist/backend/backend/src/services/agent/crewly-agent/api-client.d.ts.map +0 -1
  235. package/dist/backend/backend/src/services/agent/crewly-agent/api-client.js +0 -131
  236. package/dist/backend/backend/src/services/agent/crewly-agent/api-client.js.map +0 -1
  237. package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.d.ts +0 -130
  238. package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.d.ts.map +0 -1
  239. package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.js +0 -263
  240. package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.js.map +0 -1
  241. package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.d.ts +0 -74
  242. package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.d.ts.map +0 -1
  243. package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.js +0 -140
  244. package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.js.map +0 -1
  245. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.d.ts +0 -29
  246. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.d.ts.map +0 -1
  247. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js +0 -279
  248. package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js.map +0 -1
  249. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts +0 -340
  250. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts.map +0 -1
  251. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js +0 -1176
  252. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js.map +0 -1
  253. package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.d.ts +0 -79
  254. package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.d.ts.map +0 -1
  255. package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.js +0 -145
  256. package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.js.map +0 -1
  257. package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.d.ts +0 -79
  258. package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.d.ts.map +0 -1
  259. package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.js +0 -218
  260. package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.js.map +0 -1
  261. package/dist/backend/backend/src/services/agent/crewly-agent/index.d.ts +0 -16
  262. package/dist/backend/backend/src/services/agent/crewly-agent/index.d.ts.map +0 -1
  263. package/dist/backend/backend/src/services/agent/crewly-agent/index.js +0 -16
  264. package/dist/backend/backend/src/services/agent/crewly-agent/index.js.map +0 -1
  265. package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.d.ts +0 -135
  266. package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.d.ts.map +0 -1
  267. package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.js +0 -185
  268. package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.js.map +0 -1
  269. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts +0 -141
  270. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts.map +0 -1
  271. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js +0 -310
  272. package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js.map +0 -1
  273. package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.d.ts +0 -91
  274. package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.d.ts.map +0 -1
  275. package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.js +0 -143
  276. package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.js.map +0 -1
  277. package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.d.ts +0 -103
  278. package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.d.ts.map +0 -1
  279. package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.js +0 -256
  280. package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.js.map +0 -1
  281. package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.d.ts +0 -143
  282. package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.d.ts.map +0 -1
  283. package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.js +0 -264
  284. package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.js.map +0 -1
  285. package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.d.ts +0 -13
  286. package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.d.ts.map +0 -1
  287. package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.js +0 -91
  288. package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.js.map +0 -1
  289. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts +0 -135
  290. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts.map +0 -1
  291. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js +0 -1937
  292. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js.map +0 -1
  293. package/dist/backend/backend/src/services/autonomous/auto-assign.service.d.ts +0 -429
  294. package/dist/backend/backend/src/services/autonomous/auto-assign.service.d.ts.map +0 -1
  295. package/dist/backend/backend/src/services/autonomous/auto-assign.service.js +0 -852
  296. package/dist/backend/backend/src/services/autonomous/auto-assign.service.js.map +0 -1
  297. package/dist/backend/backend/src/services/knowledge/embedding-provider.d.ts +0 -78
  298. package/dist/backend/backend/src/services/knowledge/embedding-provider.d.ts.map +0 -1
  299. package/dist/backend/backend/src/services/knowledge/embedding-provider.js +0 -179
  300. package/dist/backend/backend/src/services/knowledge/embedding-provider.js.map +0 -1
  301. package/dist/backend/backend/src/services/knowledge/fts5-index.service.d.ts +0 -118
  302. package/dist/backend/backend/src/services/knowledge/fts5-index.service.d.ts.map +0 -1
  303. package/dist/backend/backend/src/services/knowledge/fts5-index.service.js +0 -241
  304. package/dist/backend/backend/src/services/knowledge/fts5-index.service.js.map +0 -1
  305. package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.d.ts +0 -102
  306. package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.d.ts.map +0 -1
  307. package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.js +0 -118
  308. package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.js.map +0 -1
  309. package/dist/backend/backend/src/services/knowledge/index.d.ts +0 -8
  310. package/dist/backend/backend/src/services/knowledge/index.d.ts.map +0 -1
  311. package/dist/backend/backend/src/services/knowledge/index.js +0 -8
  312. package/dist/backend/backend/src/services/knowledge/index.js.map +0 -1
  313. package/dist/backend/backend/src/services/knowledge/knowledge-search.service.d.ts +0 -241
  314. package/dist/backend/backend/src/services/knowledge/knowledge-search.service.d.ts.map +0 -1
  315. package/dist/backend/backend/src/services/knowledge/knowledge-search.service.js +0 -590
  316. package/dist/backend/backend/src/services/knowledge/knowledge-search.service.js.map +0 -1
  317. package/dist/backend/backend/src/services/knowledge/knowledge.service.d.ts +0 -153
  318. package/dist/backend/backend/src/services/knowledge/knowledge.service.d.ts.map +0 -1
  319. package/dist/backend/backend/src/services/knowledge/knowledge.service.js +0 -409
  320. package/dist/backend/backend/src/services/knowledge/knowledge.service.js.map +0 -1
  321. package/dist/backend/backend/src/services/knowledge/vector-store.service.d.ts +0 -331
  322. package/dist/backend/backend/src/services/knowledge/vector-store.service.d.ts.map +0 -1
  323. package/dist/backend/backend/src/services/knowledge/vector-store.service.js +0 -830
  324. package/dist/backend/backend/src/services/knowledge/vector-store.service.js.map +0 -1
  325. package/dist/backend/backend/src/services/knowledge/wiki-compiler.service.d.ts +0 -115
  326. package/dist/backend/backend/src/services/knowledge/wiki-compiler.service.d.ts.map +0 -1
  327. package/dist/backend/backend/src/services/knowledge/wiki-compiler.service.js +0 -215
  328. package/dist/backend/backend/src/services/knowledge/wiki-compiler.service.js.map +0 -1
  329. package/dist/backend/backend/src/services/memory/embedding-provider.d.ts +0 -78
  330. package/dist/backend/backend/src/services/memory/embedding-provider.d.ts.map +0 -1
  331. package/dist/backend/backend/src/services/memory/embedding-provider.js +0 -185
  332. package/dist/backend/backend/src/services/memory/embedding-provider.js.map +0 -1
  333. package/dist/backend/backend/src/services/memory/vector-store.service.d.ts +0 -331
  334. package/dist/backend/backend/src/services/memory/vector-store.service.d.ts.map +0 -1
  335. package/dist/backend/backend/src/services/memory/vector-store.service.js +0 -825
  336. package/dist/backend/backend/src/services/memory/vector-store.service.js.map +0 -1
  337. package/dist/backend/backend/src/services/project/task-tracking.service.d.ts +0 -171
  338. package/dist/backend/backend/src/services/project/task-tracking.service.d.ts.map +0 -1
  339. package/dist/backend/backend/src/services/project/task-tracking.service.js +0 -725
  340. package/dist/backend/backend/src/services/project/task-tracking.service.js.map +0 -1
  341. package/dist/backend/backend/src/services/v3/project-task-watcher.service.d.ts +0 -118
  342. package/dist/backend/backend/src/services/v3/project-task-watcher.service.d.ts.map +0 -1
  343. package/dist/backend/backend/src/services/v3/project-task-watcher.service.js +0 -326
  344. package/dist/backend/backend/src/services/v3/project-task-watcher.service.js.map +0 -1
  345. package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.d.ts +0 -74
  346. package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.d.ts.map +0 -1
  347. package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.js +0 -154
  348. package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.js.map +0 -1
  349. package/dist/backend/backend/src/services/workflow/unified-scheduler.service.d.ts +0 -234
  350. package/dist/backend/backend/src/services/workflow/unified-scheduler.service.d.ts.map +0 -1
  351. package/dist/backend/backend/src/services/workflow/unified-scheduler.service.js +0 -636
  352. package/dist/backend/backend/src/services/workflow/unified-scheduler.service.js.map +0 -1
  353. package/dist/backend/backend/src/services/workflow/unified-scheduler.types.d.ts +0 -156
  354. package/dist/backend/backend/src/services/workflow/unified-scheduler.types.d.ts.map +0 -1
  355. package/dist/backend/backend/src/services/workflow/unified-scheduler.types.js +0 -81
  356. package/dist/backend/backend/src/services/workflow/unified-scheduler.types.js.map +0 -1
  357. package/dist/backend/backend/src/types/auto-assign.types.d.ts +0 -271
  358. package/dist/backend/backend/src/types/auto-assign.types.d.ts.map +0 -1
  359. package/dist/backend/backend/src/types/auto-assign.types.js +0 -136
  360. package/dist/backend/backend/src/types/auto-assign.types.js.map +0 -1
  361. package/dist/backend/backend/src/types/knowledge.types.d.ts +0 -195
  362. package/dist/backend/backend/src/types/knowledge.types.d.ts.map +0 -1
  363. package/dist/backend/backend/src/types/knowledge.types.js +0 -38
  364. package/dist/backend/backend/src/types/knowledge.types.js.map +0 -1
  365. package/dist/backend/backend/src/utils/esm-require.utils.d.ts +0 -111
  366. package/dist/backend/backend/src/utils/esm-require.utils.d.ts.map +0 -1
  367. package/dist/backend/backend/src/utils/esm-require.utils.js +0 -124
  368. package/dist/backend/backend/src/utils/esm-require.utils.js.map +0 -1
  369. package/dist/cli/backend/src/services/knowledge/embedding-provider.d.ts +0 -78
  370. package/dist/cli/backend/src/services/knowledge/embedding-provider.d.ts.map +0 -1
  371. package/dist/cli/backend/src/services/knowledge/embedding-provider.js +0 -179
  372. package/dist/cli/backend/src/services/knowledge/embedding-provider.js.map +0 -1
  373. package/dist/cli/backend/src/services/knowledge/fts5-index.service.d.ts +0 -118
  374. package/dist/cli/backend/src/services/knowledge/fts5-index.service.d.ts.map +0 -1
  375. package/dist/cli/backend/src/services/knowledge/fts5-index.service.js +0 -241
  376. package/dist/cli/backend/src/services/knowledge/fts5-index.service.js.map +0 -1
  377. package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.d.ts +0 -102
  378. package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.d.ts.map +0 -1
  379. package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.js +0 -118
  380. package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.js.map +0 -1
  381. package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.d.ts +0 -56
  382. package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.d.ts.map +0 -1
  383. package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.js +0 -91
  384. package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.js.map +0 -1
  385. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts +0 -241
  386. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts.map +0 -1
  387. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js +0 -590
  388. package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js.map +0 -1
  389. package/dist/cli/backend/src/services/knowledge/knowledge.service.d.ts +0 -153
  390. package/dist/cli/backend/src/services/knowledge/knowledge.service.d.ts.map +0 -1
  391. package/dist/cli/backend/src/services/knowledge/knowledge.service.js +0 -409
  392. package/dist/cli/backend/src/services/knowledge/knowledge.service.js.map +0 -1
  393. package/dist/cli/backend/src/services/knowledge/learnings-index.service.d.ts +0 -159
  394. package/dist/cli/backend/src/services/knowledge/learnings-index.service.d.ts.map +0 -1
  395. package/dist/cli/backend/src/services/knowledge/learnings-index.service.js +0 -304
  396. package/dist/cli/backend/src/services/knowledge/learnings-index.service.js.map +0 -1
  397. package/dist/cli/backend/src/services/knowledge/vector-store.service.d.ts +0 -331
  398. package/dist/cli/backend/src/services/knowledge/vector-store.service.d.ts.map +0 -1
  399. package/dist/cli/backend/src/services/knowledge/vector-store.service.js +0 -830
  400. package/dist/cli/backend/src/services/knowledge/vector-store.service.js.map +0 -1
  401. package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.d.ts +0 -115
  402. package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.d.ts.map +0 -1
  403. package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.js +0 -215
  404. package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.js.map +0 -1
  405. package/dist/cli/backend/src/services/memory/embedding-provider.d.ts +0 -78
  406. package/dist/cli/backend/src/services/memory/embedding-provider.d.ts.map +0 -1
  407. package/dist/cli/backend/src/services/memory/embedding-provider.js +0 -179
  408. package/dist/cli/backend/src/services/memory/embedding-provider.js.map +0 -1
  409. package/dist/cli/backend/src/services/memory/vector-store.service.d.ts +0 -331
  410. package/dist/cli/backend/src/services/memory/vector-store.service.d.ts.map +0 -1
  411. package/dist/cli/backend/src/services/memory/vector-store.service.js +0 -814
  412. package/dist/cli/backend/src/services/memory/vector-store.service.js.map +0 -1
  413. package/dist/cli/backend/src/services/project/task-tracking.service.d.ts +0 -171
  414. package/dist/cli/backend/src/services/project/task-tracking.service.d.ts.map +0 -1
  415. package/dist/cli/backend/src/services/project/task-tracking.service.js +0 -725
  416. package/dist/cli/backend/src/services/project/task-tracking.service.js.map +0 -1
  417. package/dist/cli/backend/src/types/auto-assign.types.d.ts +0 -271
  418. package/dist/cli/backend/src/types/auto-assign.types.d.ts.map +0 -1
  419. package/dist/cli/backend/src/types/auto-assign.types.js +0 -136
  420. package/dist/cli/backend/src/types/auto-assign.types.js.map +0 -1
  421. package/dist/cli/backend/src/types/knowledge.types.d.ts +0 -195
  422. package/dist/cli/backend/src/types/knowledge.types.d.ts.map +0 -1
  423. package/dist/cli/backend/src/types/knowledge.types.js +0 -38
  424. package/dist/cli/backend/src/types/knowledge.types.js.map +0 -1
@@ -1,153 +0,0 @@
1
- /**
2
- * Knowledge Service
3
- *
4
- * Manages Company Knowledge documents — markdown files with YAML frontmatter
5
- * stored at global (~/.crewly/docs/) or project ({projectPath}/.crewly/docs/) scope.
6
- * Provides CRUD operations with a JSON index for fast listing.
7
- *
8
- * @module services/knowledge/knowledge.service
9
- */
10
- import type { KnowledgeDocument, KnowledgeDocumentSummary, KnowledgeScope, CreateKnowledgeDocumentParams, UpdateKnowledgeDocumentParams, KnowledgeDocumentFilters } from '../../types/knowledge.types.js';
11
- /**
12
- * Knowledge Service singleton.
13
- *
14
- * Follows the same singleton + filesystem pattern used by SOPService.
15
- */
16
- export declare class KnowledgeService {
17
- private static instance;
18
- private readonly logger;
19
- private constructor();
20
- /**
21
- * Get the singleton instance.
22
- *
23
- * @returns KnowledgeService instance
24
- */
25
- static getInstance(): KnowledgeService;
26
- /**
27
- * Reset the singleton (for testing).
28
- */
29
- static resetInstance(): void;
30
- /**
31
- * Resolve the docs directory for a given scope.
32
- *
33
- * @param scope - 'global' or 'project'
34
- * @param projectPath - Required when scope is 'project'
35
- * @returns Absolute path to the docs directory
36
- */
37
- private docsDir;
38
- /**
39
- * Resolve the index file path for a given scope.
40
- *
41
- * @param scope - 'global' or 'project'
42
- * @param projectPath - Required when scope is 'project'
43
- * @returns Absolute path to the index JSON file
44
- */
45
- private indexPath;
46
- /**
47
- * Resolve the file path for a specific document.
48
- *
49
- * @param id - Document identifier
50
- * @param scope - Document scope
51
- * @param projectPath - Project path for project-scoped docs
52
- * @returns Absolute path to the .md file
53
- */
54
- private docFilePath;
55
- /**
56
- * Ensure the docs directory exists.
57
- *
58
- * @param scope - Document scope
59
- * @param projectPath - Project path for project-scoped docs
60
- */
61
- private ensureDocsDir;
62
- /**
63
- * Read the knowledge index, returning an empty index if the file doesn't exist.
64
- *
65
- * @param scope - Document scope
66
- * @param projectPath - Project path for project-scoped docs
67
- * @returns The knowledge index
68
- */
69
- private readIndex;
70
- /**
71
- * Write the knowledge index atomically.
72
- *
73
- * @param scope - Document scope
74
- * @param projectPath - Project path for project-scoped docs
75
- * @param index - The index data to write
76
- */
77
- private writeIndex;
78
- /**
79
- * Parse a knowledge document from its markdown file content.
80
- *
81
- * @param raw - Raw file content with YAML frontmatter
82
- * @param scope - Document scope
83
- * @param projectPath - Optional project path
84
- * @returns Parsed KnowledgeDocument or null if parsing fails
85
- */
86
- private parseDocumentFile;
87
- /**
88
- * Serialize a knowledge document to markdown with YAML frontmatter.
89
- *
90
- * @param doc - The document to serialize
91
- * @returns Markdown string with frontmatter
92
- */
93
- private serializeDocument;
94
- /**
95
- * Build an index entry from a knowledge document.
96
- *
97
- * @param doc - The document
98
- * @returns Index entry with preview
99
- */
100
- private buildIndexEntry;
101
- /**
102
- * List all documents for a given scope, optionally filtered.
103
- *
104
- * @param scope - 'global' or 'project'
105
- * @param projectPath - Required when scope is 'project'
106
- * @param filters - Optional category/search filters
107
- * @returns Array of document summaries
108
- */
109
- listDocuments(scope: KnowledgeScope, projectPath?: string, filters?: KnowledgeDocumentFilters): Promise<KnowledgeDocumentSummary[]>;
110
- /**
111
- * Get a single document by ID.
112
- *
113
- * @param id - Document identifier
114
- * @param scope - Document scope
115
- * @param projectPath - Required when scope is 'project'
116
- * @returns Full document or null if not found
117
- */
118
- getDocument(id: string, scope: KnowledgeScope, projectPath?: string): Promise<KnowledgeDocument | null>;
119
- /**
120
- * Create a new knowledge document.
121
- *
122
- * @param params - Document creation parameters
123
- * @returns The generated document ID
124
- * @throws Error if validation fails
125
- */
126
- createDocument(params: CreateKnowledgeDocumentParams): Promise<string>;
127
- /**
128
- * Update an existing knowledge document.
129
- *
130
- * @param id - Document identifier
131
- * @param params - Update parameters
132
- * @throws Error if document not found or validation fails
133
- */
134
- updateDocument(id: string, params: UpdateKnowledgeDocumentParams): Promise<void>;
135
- /**
136
- * Delete a knowledge document.
137
- *
138
- * @param id - Document identifier
139
- * @param scope - Document scope
140
- * @param projectPath - Required when scope is 'project'
141
- * @throws Error if document not found
142
- */
143
- deleteDocument(id: string, scope: KnowledgeScope, projectPath?: string): Promise<void>;
144
- /**
145
- * List all categories in use for a given scope, merged with defaults.
146
- *
147
- * @param scope - Document scope
148
- * @param projectPath - Required when scope is 'project'
149
- * @returns Array of category names (defaults + custom in-use)
150
- */
151
- listCategories(scope: KnowledgeScope, projectPath?: string): Promise<string[]>;
152
- }
153
- //# sourceMappingURL=knowledge.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"knowledge.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/knowledge/knowledge.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,OAAO,KAAK,EACV,iBAAiB,EACjB,wBAAwB,EAIxB,cAAc,EACd,6BAA6B,EAC7B,6BAA6B,EAC7B,wBAAwB,EACzB,MAAM,gCAAgC,CAAC;AAkBxC;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiC;IACxD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IAEzC,OAAO;IAIP;;;;OAIG;IACH,MAAM,CAAC,WAAW,IAAI,gBAAgB;IAOtC;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAQ5B;;;;;;OAMG;IACH,OAAO,CAAC,OAAO;IAWf;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;IAWjB;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;IAInB;;;;;OAKG;YACW,aAAa;IAW3B;;;;;;OAMG;YACW,SAAS;IAKvB;;;;;;OAMG;YACW,UAAU;IAexB;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAkBvB;;;;;;;OAOG;IACG,aAAa,CACjB,KAAK,EAAE,cAAc,EACrB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAwBtC;;;;;;;OAOG;IACG,WAAW,CACf,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,cAAc,EACrB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAUpC;;;;;;OAMG;IACG,cAAc,CAAC,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC,MAAM,CAAC;IAiD5E;;;;;;OAMG;IACG,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC;IA8CtF;;;;;;;OAOG;IACG,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB5F;;;;;;OAMG;IACG,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAMrF"}
@@ -1,409 +0,0 @@
1
- /**
2
- * Knowledge Service
3
- *
4
- * Manages Company Knowledge documents — markdown files with YAML frontmatter
5
- * stored at global (~/.crewly/docs/) or project ({projectPath}/.crewly/docs/) scope.
6
- * Provides CRUD operations with a JSON index for fast listing.
7
- *
8
- * @module services/knowledge/knowledge.service
9
- */
10
- import * as path from 'path';
11
- import * as fs from 'fs/promises';
12
- import { existsSync } from 'fs';
13
- import { parse as parseYAML, stringify as stringifyYAML } from 'yaml';
14
- import { v4 as uuidv4 } from 'uuid';
15
- import { LoggerService } from '../core/logger.service.js';
16
- import { atomicWriteFile, safeReadJson } from '../../utils/file-io.utils.js';
17
- import { CREWLY_CONSTANTS } from '../../constants.js';
18
- import { DEFAULT_KNOWLEDGE_CATEGORIES, KNOWLEDGE_CONSTANTS, } from '../../types/knowledge.types.js';
19
- /** Separator between YAML frontmatter and markdown content */
20
- const FRONTMATTER_SEPARATOR = '---';
21
- /**
22
- * Build an empty index structure.
23
- *
24
- * @returns A fresh KnowledgeIndex
25
- */
26
- function emptyIndex() {
27
- return { version: 1, updatedAt: new Date().toISOString(), entries: [] };
28
- }
29
- /**
30
- * Knowledge Service singleton.
31
- *
32
- * Follows the same singleton + filesystem pattern used by SOPService.
33
- */
34
- export class KnowledgeService {
35
- static instance = null;
36
- logger;
37
- constructor() {
38
- this.logger = LoggerService.getInstance().createComponentLogger('KnowledgeService');
39
- }
40
- /**
41
- * Get the singleton instance.
42
- *
43
- * @returns KnowledgeService instance
44
- */
45
- static getInstance() {
46
- if (!KnowledgeService.instance) {
47
- KnowledgeService.instance = new KnowledgeService();
48
- }
49
- return KnowledgeService.instance;
50
- }
51
- /**
52
- * Reset the singleton (for testing).
53
- */
54
- static resetInstance() {
55
- KnowledgeService.instance = null;
56
- }
57
- // ---------------------------------------------------------------------------
58
- // Path helpers
59
- // ---------------------------------------------------------------------------
60
- /**
61
- * Resolve the docs directory for a given scope.
62
- *
63
- * @param scope - 'global' or 'project'
64
- * @param projectPath - Required when scope is 'project'
65
- * @returns Absolute path to the docs directory
66
- */
67
- docsDir(scope, projectPath) {
68
- if (scope === 'project') {
69
- if (!projectPath) {
70
- throw new Error('projectPath is required for project scope');
71
- }
72
- return path.join(projectPath, CREWLY_CONSTANTS.PATHS.CREWLY_HOME, CREWLY_CONSTANTS.PATHS.DOCS_DIR);
73
- }
74
- const home = process.env.HOME || process.env.USERPROFILE || '/tmp';
75
- return path.join(home, CREWLY_CONSTANTS.PATHS.CREWLY_HOME, CREWLY_CONSTANTS.PATHS.DOCS_DIR);
76
- }
77
- /**
78
- * Resolve the index file path for a given scope.
79
- *
80
- * @param scope - 'global' or 'project'
81
- * @param projectPath - Required when scope is 'project'
82
- * @returns Absolute path to the index JSON file
83
- */
84
- indexPath(scope, projectPath) {
85
- if (scope === 'project') {
86
- if (!projectPath) {
87
- throw new Error('projectPath is required for project scope');
88
- }
89
- return path.join(projectPath, CREWLY_CONSTANTS.PATHS.CREWLY_HOME, CREWLY_CONSTANTS.PATHS.DOCS_INDEX_FILE);
90
- }
91
- const home = process.env.HOME || process.env.USERPROFILE || '/tmp';
92
- return path.join(home, CREWLY_CONSTANTS.PATHS.CREWLY_HOME, CREWLY_CONSTANTS.PATHS.DOCS_INDEX_FILE);
93
- }
94
- /**
95
- * Resolve the file path for a specific document.
96
- *
97
- * @param id - Document identifier
98
- * @param scope - Document scope
99
- * @param projectPath - Project path for project-scoped docs
100
- * @returns Absolute path to the .md file
101
- */
102
- docFilePath(id, scope, projectPath) {
103
- return path.join(this.docsDir(scope, projectPath), `${id}.md`);
104
- }
105
- /**
106
- * Ensure the docs directory exists.
107
- *
108
- * @param scope - Document scope
109
- * @param projectPath - Project path for project-scoped docs
110
- */
111
- async ensureDocsDir(scope, projectPath) {
112
- const dir = this.docsDir(scope, projectPath);
113
- if (!existsSync(dir)) {
114
- await fs.mkdir(dir, { recursive: true });
115
- }
116
- }
117
- // ---------------------------------------------------------------------------
118
- // Index helpers
119
- // ---------------------------------------------------------------------------
120
- /**
121
- * Read the knowledge index, returning an empty index if the file doesn't exist.
122
- *
123
- * @param scope - Document scope
124
- * @param projectPath - Project path for project-scoped docs
125
- * @returns The knowledge index
126
- */
127
- async readIndex(scope, projectPath) {
128
- const indexFile = this.indexPath(scope, projectPath);
129
- return safeReadJson(indexFile, emptyIndex());
130
- }
131
- /**
132
- * Write the knowledge index atomically.
133
- *
134
- * @param scope - Document scope
135
- * @param projectPath - Project path for project-scoped docs
136
- * @param index - The index data to write
137
- */
138
- async writeIndex(scope, projectPath, index) {
139
- const indexFile = this.indexPath(scope, projectPath);
140
- const dir = path.dirname(indexFile);
141
- if (!existsSync(dir)) {
142
- await fs.mkdir(dir, { recursive: true });
143
- }
144
- const data = index || emptyIndex();
145
- data.updatedAt = new Date().toISOString();
146
- await atomicWriteFile(indexFile, JSON.stringify(data, null, 2));
147
- }
148
- // ---------------------------------------------------------------------------
149
- // File I/O helpers
150
- // ---------------------------------------------------------------------------
151
- /**
152
- * Parse a knowledge document from its markdown file content.
153
- *
154
- * @param raw - Raw file content with YAML frontmatter
155
- * @param scope - Document scope
156
- * @param projectPath - Optional project path
157
- * @returns Parsed KnowledgeDocument or null if parsing fails
158
- */
159
- parseDocumentFile(raw, scope, projectPath) {
160
- try {
161
- const parts = raw.split(FRONTMATTER_SEPARATOR);
162
- if (parts.length < 3) {
163
- return null;
164
- }
165
- // parts[0] is empty (before first ---), parts[1] is YAML, parts[2..] is content
166
- const yamlStr = parts[1];
167
- const content = parts.slice(2).join(FRONTMATTER_SEPARATOR).trim();
168
- const frontmatter = parseYAML(yamlStr);
169
- if (!frontmatter || !frontmatter.id || !frontmatter.title) {
170
- return null;
171
- }
172
- return {
173
- id: frontmatter.id,
174
- title: frontmatter.title,
175
- category: frontmatter.category || 'General',
176
- tags: frontmatter.tags || [],
177
- content,
178
- scope,
179
- projectPath: scope === 'project' ? projectPath : undefined,
180
- createdBy: frontmatter.createdBy || 'unknown',
181
- updatedBy: frontmatter.updatedBy || frontmatter.createdBy || 'unknown',
182
- createdAt: frontmatter.createdAt || new Date().toISOString(),
183
- updatedAt: frontmatter.updatedAt || new Date().toISOString(),
184
- };
185
- }
186
- catch (error) {
187
- this.logger.error('Failed to parse document file', {
188
- error: error instanceof Error ? error.message : String(error),
189
- });
190
- return null;
191
- }
192
- }
193
- /**
194
- * Serialize a knowledge document to markdown with YAML frontmatter.
195
- *
196
- * @param doc - The document to serialize
197
- * @returns Markdown string with frontmatter
198
- */
199
- serializeDocument(doc) {
200
- const frontmatter = {
201
- id: doc.id,
202
- title: doc.title,
203
- category: doc.category,
204
- tags: doc.tags,
205
- createdBy: doc.createdBy,
206
- updatedBy: doc.updatedBy,
207
- createdAt: doc.createdAt,
208
- updatedAt: doc.updatedAt,
209
- };
210
- const yamlStr = stringifyYAML(frontmatter).trim();
211
- return `${FRONTMATTER_SEPARATOR}\n${yamlStr}\n${FRONTMATTER_SEPARATOR}\n${doc.content}`;
212
- }
213
- /**
214
- * Build an index entry from a knowledge document.
215
- *
216
- * @param doc - The document
217
- * @returns Index entry with preview
218
- */
219
- buildIndexEntry(doc) {
220
- return {
221
- id: doc.id,
222
- title: doc.title,
223
- category: doc.category,
224
- tags: doc.tags,
225
- preview: doc.content.slice(0, KNOWLEDGE_CONSTANTS.PREVIEW_LENGTH),
226
- createdBy: doc.createdBy,
227
- updatedBy: doc.updatedBy,
228
- createdAt: doc.createdAt,
229
- updatedAt: doc.updatedAt,
230
- };
231
- }
232
- // ---------------------------------------------------------------------------
233
- // Public API
234
- // ---------------------------------------------------------------------------
235
- /**
236
- * List all documents for a given scope, optionally filtered.
237
- *
238
- * @param scope - 'global' or 'project'
239
- * @param projectPath - Required when scope is 'project'
240
- * @param filters - Optional category/search filters
241
- * @returns Array of document summaries
242
- */
243
- async listDocuments(scope, projectPath, filters) {
244
- const index = await this.readIndex(scope, projectPath);
245
- let entries = index.entries;
246
- if (filters?.category) {
247
- entries = entries.filter((e) => e.category === filters.category);
248
- }
249
- if (filters?.search) {
250
- const query = filters.search.toLowerCase();
251
- entries = entries.filter((e) => e.title.toLowerCase().includes(query) ||
252
- e.tags.some((t) => t.toLowerCase().includes(query)) ||
253
- e.preview.toLowerCase().includes(query));
254
- }
255
- return entries.map((e) => ({
256
- ...e,
257
- scope,
258
- }));
259
- }
260
- /**
261
- * Get a single document by ID.
262
- *
263
- * @param id - Document identifier
264
- * @param scope - Document scope
265
- * @param projectPath - Required when scope is 'project'
266
- * @returns Full document or null if not found
267
- */
268
- async getDocument(id, scope, projectPath) {
269
- const filePath = this.docFilePath(id, scope, projectPath);
270
- try {
271
- const raw = await fs.readFile(filePath, 'utf-8');
272
- return this.parseDocumentFile(raw, scope, projectPath);
273
- }
274
- catch {
275
- return null;
276
- }
277
- }
278
- /**
279
- * Create a new knowledge document.
280
- *
281
- * @param params - Document creation parameters
282
- * @returns The generated document ID
283
- * @throws Error if validation fails
284
- */
285
- async createDocument(params) {
286
- const { title, content, category, scope, projectPath, tags = [], createdBy } = params;
287
- // Validation
288
- if (!title || title.length > KNOWLEDGE_CONSTANTS.MAX_TITLE_LENGTH) {
289
- throw new Error(`Title is required and must be at most ${KNOWLEDGE_CONSTANTS.MAX_TITLE_LENGTH} characters`);
290
- }
291
- if (content.length > KNOWLEDGE_CONSTANTS.MAX_CONTENT_LENGTH) {
292
- throw new Error(`Content must be at most ${KNOWLEDGE_CONSTANTS.MAX_CONTENT_LENGTH} characters`);
293
- }
294
- if (tags.length > KNOWLEDGE_CONSTANTS.MAX_TAGS) {
295
- throw new Error(`Maximum ${KNOWLEDGE_CONSTANTS.MAX_TAGS} tags allowed`);
296
- }
297
- if (scope === 'project' && !projectPath) {
298
- throw new Error('projectPath is required for project scope');
299
- }
300
- await this.ensureDocsDir(scope, projectPath);
301
- const id = uuidv4();
302
- const now = new Date().toISOString();
303
- const doc = {
304
- id,
305
- title,
306
- content,
307
- category: category || 'General',
308
- tags,
309
- scope,
310
- projectPath: scope === 'project' ? projectPath : undefined,
311
- createdBy: createdBy || 'user',
312
- updatedBy: createdBy || 'user',
313
- createdAt: now,
314
- updatedAt: now,
315
- };
316
- // Write document file
317
- const filePath = this.docFilePath(id, scope, projectPath);
318
- await atomicWriteFile(filePath, this.serializeDocument(doc));
319
- // Update index
320
- const index = await this.readIndex(scope, projectPath);
321
- index.entries.push(this.buildIndexEntry(doc));
322
- await this.writeIndex(scope, projectPath, index);
323
- this.logger.info('Document created', { id, title, scope });
324
- return id;
325
- }
326
- /**
327
- * Update an existing knowledge document.
328
- *
329
- * @param id - Document identifier
330
- * @param params - Update parameters
331
- * @throws Error if document not found or validation fails
332
- */
333
- async updateDocument(id, params) {
334
- const { scope, projectPath, updatedBy } = params;
335
- const existing = await this.getDocument(id, scope, projectPath);
336
- if (!existing) {
337
- throw new Error(`Document '${id}' not found`);
338
- }
339
- if (params.title !== undefined && params.title.length > KNOWLEDGE_CONSTANTS.MAX_TITLE_LENGTH) {
340
- throw new Error(`Title must be at most ${KNOWLEDGE_CONSTANTS.MAX_TITLE_LENGTH} characters`);
341
- }
342
- if (params.content !== undefined && params.content.length > KNOWLEDGE_CONSTANTS.MAX_CONTENT_LENGTH) {
343
- throw new Error(`Content must be at most ${KNOWLEDGE_CONSTANTS.MAX_CONTENT_LENGTH} characters`);
344
- }
345
- if (params.tags !== undefined && params.tags.length > KNOWLEDGE_CONSTANTS.MAX_TAGS) {
346
- throw new Error(`Maximum ${KNOWLEDGE_CONSTANTS.MAX_TAGS} tags allowed`);
347
- }
348
- const updated = {
349
- ...existing,
350
- title: params.title ?? existing.title,
351
- content: params.content ?? existing.content,
352
- category: params.category ?? existing.category,
353
- tags: params.tags ?? existing.tags,
354
- updatedBy,
355
- updatedAt: new Date().toISOString(),
356
- };
357
- // Write updated document file
358
- const filePath = this.docFilePath(id, scope, projectPath);
359
- await atomicWriteFile(filePath, this.serializeDocument(updated));
360
- // Update index entry
361
- const index = await this.readIndex(scope, projectPath);
362
- const entryIdx = index.entries.findIndex((e) => e.id === id);
363
- const newEntry = this.buildIndexEntry(updated);
364
- if (entryIdx >= 0) {
365
- index.entries[entryIdx] = newEntry;
366
- }
367
- else {
368
- index.entries.push(newEntry);
369
- }
370
- await this.writeIndex(scope, projectPath, index);
371
- this.logger.info('Document updated', { id, scope });
372
- }
373
- /**
374
- * Delete a knowledge document.
375
- *
376
- * @param id - Document identifier
377
- * @param scope - Document scope
378
- * @param projectPath - Required when scope is 'project'
379
- * @throws Error if document not found
380
- */
381
- async deleteDocument(id, scope, projectPath) {
382
- const filePath = this.docFilePath(id, scope, projectPath);
383
- try {
384
- await fs.unlink(filePath);
385
- }
386
- catch {
387
- throw new Error(`Document '${id}' not found`);
388
- }
389
- // Remove from index
390
- const index = await this.readIndex(scope, projectPath);
391
- index.entries = index.entries.filter((e) => e.id !== id);
392
- await this.writeIndex(scope, projectPath, index);
393
- this.logger.info('Document deleted', { id, scope });
394
- }
395
- /**
396
- * List all categories in use for a given scope, merged with defaults.
397
- *
398
- * @param scope - Document scope
399
- * @param projectPath - Required when scope is 'project'
400
- * @returns Array of category names (defaults + custom in-use)
401
- */
402
- async listCategories(scope, projectPath) {
403
- const index = await this.readIndex(scope, projectPath);
404
- const inUse = new Set(index.entries.map((e) => e.category));
405
- const all = new Set([...DEFAULT_KNOWLEDGE_CATEGORIES, ...inUse]);
406
- return [...all].sort();
407
- }
408
- }
409
- //# sourceMappingURL=knowledge.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"knowledge.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/knowledge/knowledge.service.ts"],"names":[],"mappings":"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"}