crewly 1.13.1 → 1.14.1
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.
- package/config/constants.ts +8 -0
- package/config/roles/orchestrator/prompt.md +23 -0
- package/config/skills/agent/core/reply-channel/SKILL.md +6 -0
- package/config/skills/agent/core/reply-channel/execute.sh +14 -2
- package/config/skills/agent/core/slack-post/SKILL.md +126 -0
- package/config/skills/agent/core/slack-post/execute.sh +127 -0
- package/config/skills/agent/remote-browser/SKILL.md +178 -0
- package/config/skills/agent/xiaoyuzhoufm-transcript/SKILL.md +46 -22
- package/config/skills/agent/xiaoyuzhoufm-transcript/execute.sh +82 -214
- package/config/skills/agent/xiaoyuzhoufm-transcript/skill.json +3 -3
- package/config/skills/orchestrator/get-team-status/SKILL.md +5 -1
- package/config/skills/orchestrator/get-team-status/execute.sh +28 -2
- package/config/slack-app-manifest.json +7 -1
- package/dist/backend/backend/src/config/oauth.config.d.ts +93 -19
- package/dist/backend/backend/src/config/oauth.config.d.ts.map +1 -1
- package/dist/backend/backend/src/config/oauth.config.js +121 -19
- package/dist/backend/backend/src/config/oauth.config.js.map +1 -1
- package/dist/backend/backend/src/constants.d.ts +60 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +74 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.js +33 -4
- package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/credentials/google-oauth.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/credentials/google-oauth.controller.js +27 -9
- package/dist/backend/backend/src/controllers/credentials/google-oauth.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.js +342 -0
- package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +31 -7
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts +10 -0
- package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/idle-detection.service.js +37 -0
- package/dist/backend/backend/src/services/agent/idle-detection.service.js.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-bridge.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-bridge.service.js +13 -11
- package/dist/backend/backend/src/services/browser/browser-bridge.service.js.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts +14 -0
- package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-proxy.service.js +56 -0
- package/dist/backend/backend/src/services/browser/browser-proxy.service.js.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-services.registry.d.ts +63 -0
- package/dist/backend/backend/src/services/browser/browser-services.registry.d.ts.map +1 -0
- package/dist/backend/backend/src/services/browser/browser-services.registry.js +74 -0
- package/dist/backend/backend/src/services/browser/browser-services.registry.js.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +25 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +19 -7
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +66 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +121 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts +35 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js +63 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
- package/dist/backend/backend/src/services/core/storage.service.d.ts +6 -0
- package/dist/backend/backend/src/services/core/storage.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/core/storage.service.js +1 -1
- package/dist/backend/backend/src/services/core/storage.service.js.map +1 -1
- package/dist/backend/backend/src/services/credential/helpers/gemini-cli-workspace.helper.d.ts.map +1 -1
- package/dist/backend/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js +6 -2
- package/dist/backend/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js.map +1 -1
- package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js +14 -0
- package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js.map +1 -1
- package/dist/backend/backend/src/services/orc/orc-delivery-enforcer.service.d.ts +8 -0
- package/dist/backend/backend/src/services/orc/orc-delivery-enforcer.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orc/orc-delivery-enforcer.service.js +31 -3
- package/dist/backend/backend/src/services/orc/orc-delivery-enforcer.service.js.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts +34 -0
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js +99 -10
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-agent-identity.service.d.ts +209 -0
- package/dist/backend/backend/src/services/slack/slack-agent-identity.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/slack/slack-agent-identity.service.js +416 -0
- package/dist/backend/backend/src/services/slack/slack-agent-identity.service.js.map +1 -0
- package/dist/backend/backend/src/services/slack/slack-agent-post.service.d.ts +124 -0
- package/dist/backend/backend/src/services/slack/slack-agent-post.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/slack/slack-agent-post.service.js +243 -0
- package/dist/backend/backend/src/services/slack/slack-agent-post.service.js.map +1 -0
- package/dist/backend/backend/src/services/slack/slack-initializer.d.ts +11 -0
- package/dist/backend/backend/src/services/slack/slack-initializer.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-initializer.js +56 -0
- package/dist/backend/backend/src/services/slack/slack-initializer.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-mention-resolver.d.ts +103 -0
- package/dist/backend/backend/src/services/slack/slack-mention-resolver.d.ts.map +1 -0
- package/dist/backend/backend/src/services/slack/slack-mention-resolver.js +197 -0
- package/dist/backend/backend/src/services/slack/slack-mention-resolver.js.map +1 -0
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +18 -0
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +329 -0
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +821 -0
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -0
- package/dist/backend/backend/src/services/slack/slack.service.d.ts +116 -1
- package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack.service.js +297 -3
- package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts +22 -0
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +71 -0
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
- package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.d.ts +20 -2
- package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.js +27 -2
- package/dist/backend/backend/src/services/wiki/wiki-bookkeep-trigger.service.js.map +1 -1
- package/dist/backend/backend/src/services/wiki/wiki-reflect-trigger.service.d.ts +36 -2
- package/dist/backend/backend/src/services/wiki/wiki-reflect-trigger.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/wiki/wiki-reflect-trigger.service.js +86 -10
- package/dist/backend/backend/src/services/wiki/wiki-reflect-trigger.service.js.map +1 -1
- package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.d.ts +37 -0
- package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.js +74 -8
- package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.js.map +1 -1
- package/dist/backend/backend/src/types/slack.types.d.ts +87 -0
- package/dist/backend/backend/src/types/slack.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/slack.types.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/backend/config/constants.d.ts +8 -0
- package/dist/backend/config/constants.d.ts.map +1 -1
- package/dist/backend/config/constants.js +8 -0
- package/dist/backend/config/constants.js.map +1 -1
- package/dist/cli/backend/src/config/oauth.config.d.ts +93 -19
- package/dist/cli/backend/src/config/oauth.config.d.ts.map +1 -1
- package/dist/cli/backend/src/config/oauth.config.js +121 -19
- package/dist/cli/backend/src/config/oauth.config.js.map +1 -1
- package/dist/cli/backend/src/constants.d.ts +60 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +74 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +292 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +420 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.mention-resolver.d.ts +134 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.mention-resolver.d.ts.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.mention-resolver.js +232 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.mention-resolver.js.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts +66 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js +121 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts +35 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js +63 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
- package/dist/cli/backend/src/services/core/storage.service.d.ts +6 -0
- package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/core/storage.service.js +1 -1
- package/dist/cli/backend/src/services/core/storage.service.js.map +1 -1
- package/dist/cli/backend/src/services/credential/helpers/gemini-cli-workspace.helper.d.ts.map +1 -1
- package/dist/cli/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js +6 -2
- package/dist/cli/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js.map +1 -1
- package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.d.ts +8 -0
- package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.js +31 -3
- package/dist/cli/backend/src/services/orc/orc-delivery-enforcer.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-agent-identity.service.d.ts +209 -0
- package/dist/cli/backend/src/services/slack/slack-agent-identity.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-agent-identity.service.js +416 -0
- package/dist/cli/backend/src/services/slack/slack-agent-identity.service.js.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-mention-resolver.d.ts +103 -0
- package/dist/cli/backend/src/services/slack/slack-mention-resolver.d.ts.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-mention-resolver.js +197 -0
- package/dist/cli/backend/src/services/slack/slack-mention-resolver.js.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js +18 -0
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +329 -0
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +821 -0
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -0
- package/dist/cli/backend/src/services/slack/slack.service.d.ts +116 -1
- package/dist/cli/backend/src/services/slack/slack.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack.service.js +297 -3
- package/dist/cli/backend/src/services/slack/slack.service.js.map +1 -1
- package/dist/cli/backend/src/types/slack.types.d.ts +87 -0
- package/dist/cli/backend/src/types/slack.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/slack.types.js.map +1 -1
- package/dist/cli/backend/src/utils/team.utils.d.ts +40 -0
- package/dist/cli/backend/src/utils/team.utils.d.ts.map +1 -0
- package/dist/cli/backend/src/utils/team.utils.js +66 -0
- package/dist/cli/backend/src/utils/team.utils.js.map +1 -0
- package/dist/cli/cli/src/index.js +0 -0
- package/dist/cli/config/constants.d.ts +8 -0
- package/dist/cli/config/constants.d.ts.map +1 -1
- package/dist/cli/config/constants.js +8 -0
- package/dist/cli/config/constants.js.map +1 -1
- package/frontend/dist/assets/{index-890d3f9d.js → index-190a957f.js} +294 -294
- package/frontend/dist/assets/{index-8205ea5e.css → index-88feb412.css} +1 -1
- package/frontend/dist/index.html +2 -2
- package/package.json +1 -1
- package/config/constants.d.ts.map +0 -1
- package/config/index.d.ts.map +0 -1
- package/dist/backend/backend/src/controllers/knowledge/index.d.ts +0 -7
- package/dist/backend/backend/src/controllers/knowledge/index.d.ts.map +0 -1
- package/dist/backend/backend/src/controllers/knowledge/index.js +0 -7
- package/dist/backend/backend/src/controllers/knowledge/index.js.map +0 -1
- package/dist/backend/backend/src/controllers/knowledge/knowledge.controller.d.ts +0 -71
- package/dist/backend/backend/src/controllers/knowledge/knowledge.controller.d.ts.map +0 -1
- package/dist/backend/backend/src/controllers/knowledge/knowledge.controller.js +0 -237
- package/dist/backend/backend/src/controllers/knowledge/knowledge.controller.js.map +0 -1
- package/dist/backend/backend/src/controllers/knowledge/knowledge.routes.d.ts +0 -24
- package/dist/backend/backend/src/controllers/knowledge/knowledge.routes.d.ts.map +0 -1
- package/dist/backend/backend/src/controllers/knowledge/knowledge.routes.js +0 -34
- package/dist/backend/backend/src/controllers/knowledge/knowledge.routes.js.map +0 -1
- package/dist/backend/backend/src/controllers/scheduler/unified-scheduler.controller.d.ts +0 -91
- package/dist/backend/backend/src/controllers/scheduler/unified-scheduler.controller.d.ts.map +0 -1
- package/dist/backend/backend/src/controllers/scheduler/unified-scheduler.controller.js +0 -290
- package/dist/backend/backend/src/controllers/scheduler/unified-scheduler.controller.js.map +0 -1
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts +0 -169
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts.map +0 -1
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.js +0 -1779
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.js.map +0 -1
- package/dist/backend/backend/src/index.js.orc-bak-20260529 +0 -3130
- package/dist/backend/backend/src/routes/modules/unified-scheduler.routes.d.ts +0 -27
- package/dist/backend/backend/src/routes/modules/unified-scheduler.routes.d.ts.map +0 -1
- package/dist/backend/backend/src/routes/modules/unified-scheduler.routes.js +0 -40
- package/dist/backend/backend/src/routes/modules/unified-scheduler.routes.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts +0 -513
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js +0 -1568
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.d.ts +0 -86
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.js +0 -147
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/api-client.d.ts +0 -68
- package/dist/backend/backend/src/services/agent/crewly-agent/api-client.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/api-client.js +0 -131
- package/dist/backend/backend/src/services/agent/crewly-agent/api-client.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.d.ts +0 -130
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.js +0 -263
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.d.ts +0 -74
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.js +0 -140
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-trail.service.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.d.ts +0 -29
- package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js +0 -279
- package/dist/backend/backend/src/services/agent/crewly-agent/auditor-tools.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts +0 -340
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js +0 -1176
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.d.ts +0 -79
- package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.js +0 -145
- package/dist/backend/backend/src/services/agent/crewly-agent/deepseek-sse-transform.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.d.ts +0 -79
- package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.js +0 -218
- package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/index.d.ts +0 -16
- package/dist/backend/backend/src/services/agent/crewly-agent/index.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/index.js +0 -16
- package/dist/backend/backend/src/services/agent/crewly-agent/index.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.d.ts +0 -135
- package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.js +0 -185
- package/dist/backend/backend/src/services/agent/crewly-agent/mcp-tool-bridge.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts +0 -141
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js +0 -310
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.d.ts +0 -91
- package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.js +0 -143
- package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.d.ts +0 -103
- package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.js +0 -256
- package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.d.ts +0 -143
- package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.js +0 -264
- package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.d.ts +0 -13
- package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.js +0 -91
- package/dist/backend/backend/src/services/agent/crewly-agent/smoke-test.js.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts +0 -135
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts.map +0 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js +0 -1937
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js.map +0 -1
- package/dist/backend/backend/src/services/autonomous/auto-assign.service.d.ts +0 -429
- package/dist/backend/backend/src/services/autonomous/auto-assign.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/autonomous/auto-assign.service.js +0 -852
- package/dist/backend/backend/src/services/autonomous/auto-assign.service.js.map +0 -1
- package/dist/backend/backend/src/services/knowledge/embedding-provider.d.ts +0 -78
- package/dist/backend/backend/src/services/knowledge/embedding-provider.d.ts.map +0 -1
- package/dist/backend/backend/src/services/knowledge/embedding-provider.js +0 -179
- package/dist/backend/backend/src/services/knowledge/embedding-provider.js.map +0 -1
- package/dist/backend/backend/src/services/knowledge/fts5-index.service.d.ts +0 -118
- package/dist/backend/backend/src/services/knowledge/fts5-index.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/knowledge/fts5-index.service.js +0 -241
- package/dist/backend/backend/src/services/knowledge/fts5-index.service.js.map +0 -1
- package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.d.ts +0 -102
- package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.d.ts.map +0 -1
- package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.js +0 -118
- package/dist/backend/backend/src/services/knowledge/fts5-query-sanitizer.js.map +0 -1
- package/dist/backend/backend/src/services/knowledge/index.d.ts +0 -8
- package/dist/backend/backend/src/services/knowledge/index.d.ts.map +0 -1
- package/dist/backend/backend/src/services/knowledge/index.js +0 -8
- package/dist/backend/backend/src/services/knowledge/index.js.map +0 -1
- package/dist/backend/backend/src/services/knowledge/knowledge-search.service.d.ts +0 -241
- package/dist/backend/backend/src/services/knowledge/knowledge-search.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/knowledge/knowledge-search.service.js +0 -590
- package/dist/backend/backend/src/services/knowledge/knowledge-search.service.js.map +0 -1
- package/dist/backend/backend/src/services/knowledge/knowledge.service.d.ts +0 -153
- package/dist/backend/backend/src/services/knowledge/knowledge.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/knowledge/knowledge.service.js +0 -409
- package/dist/backend/backend/src/services/knowledge/knowledge.service.js.map +0 -1
- package/dist/backend/backend/src/services/knowledge/vector-store.service.d.ts +0 -331
- package/dist/backend/backend/src/services/knowledge/vector-store.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/knowledge/vector-store.service.js +0 -830
- package/dist/backend/backend/src/services/knowledge/vector-store.service.js.map +0 -1
- package/dist/backend/backend/src/services/knowledge/wiki-compiler.service.d.ts +0 -115
- package/dist/backend/backend/src/services/knowledge/wiki-compiler.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/knowledge/wiki-compiler.service.js +0 -215
- package/dist/backend/backend/src/services/knowledge/wiki-compiler.service.js.map +0 -1
- package/dist/backend/backend/src/services/memory/embedding-provider.d.ts +0 -78
- package/dist/backend/backend/src/services/memory/embedding-provider.d.ts.map +0 -1
- package/dist/backend/backend/src/services/memory/embedding-provider.js +0 -185
- package/dist/backend/backend/src/services/memory/embedding-provider.js.map +0 -1
- package/dist/backend/backend/src/services/memory/vector-store.service.d.ts +0 -331
- package/dist/backend/backend/src/services/memory/vector-store.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/memory/vector-store.service.js +0 -825
- package/dist/backend/backend/src/services/memory/vector-store.service.js.map +0 -1
- package/dist/backend/backend/src/services/project/task-tracking.service.d.ts +0 -171
- package/dist/backend/backend/src/services/project/task-tracking.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/project/task-tracking.service.js +0 -725
- package/dist/backend/backend/src/services/project/task-tracking.service.js.map +0 -1
- package/dist/backend/backend/src/services/v3/project-task-watcher.service.d.ts +0 -118
- package/dist/backend/backend/src/services/v3/project-task-watcher.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/v3/project-task-watcher.service.js +0 -326
- package/dist/backend/backend/src/services/v3/project-task-watcher.service.js.map +0 -1
- package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.d.ts +0 -74
- package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.js +0 -154
- package/dist/backend/backend/src/services/wiki/wiki-chat-subscriber.service.js.map +0 -1
- package/dist/backend/backend/src/services/workflow/unified-scheduler.service.d.ts +0 -234
- package/dist/backend/backend/src/services/workflow/unified-scheduler.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/workflow/unified-scheduler.service.js +0 -636
- package/dist/backend/backend/src/services/workflow/unified-scheduler.service.js.map +0 -1
- package/dist/backend/backend/src/services/workflow/unified-scheduler.types.d.ts +0 -156
- package/dist/backend/backend/src/services/workflow/unified-scheduler.types.d.ts.map +0 -1
- package/dist/backend/backend/src/services/workflow/unified-scheduler.types.js +0 -81
- package/dist/backend/backend/src/services/workflow/unified-scheduler.types.js.map +0 -1
- package/dist/backend/backend/src/types/auto-assign.types.d.ts +0 -271
- package/dist/backend/backend/src/types/auto-assign.types.d.ts.map +0 -1
- package/dist/backend/backend/src/types/auto-assign.types.js +0 -136
- package/dist/backend/backend/src/types/auto-assign.types.js.map +0 -1
- package/dist/backend/backend/src/types/knowledge.types.d.ts +0 -195
- package/dist/backend/backend/src/types/knowledge.types.d.ts.map +0 -1
- package/dist/backend/backend/src/types/knowledge.types.js +0 -38
- package/dist/backend/backend/src/types/knowledge.types.js.map +0 -1
- package/dist/backend/backend/src/utils/esm-require.utils.d.ts +0 -111
- package/dist/backend/backend/src/utils/esm-require.utils.d.ts.map +0 -1
- package/dist/backend/backend/src/utils/esm-require.utils.js +0 -124
- package/dist/backend/backend/src/utils/esm-require.utils.js.map +0 -1
- package/dist/cli/backend/src/services/knowledge/embedding-provider.d.ts +0 -78
- package/dist/cli/backend/src/services/knowledge/embedding-provider.d.ts.map +0 -1
- package/dist/cli/backend/src/services/knowledge/embedding-provider.js +0 -179
- package/dist/cli/backend/src/services/knowledge/embedding-provider.js.map +0 -1
- package/dist/cli/backend/src/services/knowledge/fts5-index.service.d.ts +0 -118
- package/dist/cli/backend/src/services/knowledge/fts5-index.service.d.ts.map +0 -1
- package/dist/cli/backend/src/services/knowledge/fts5-index.service.js +0 -241
- package/dist/cli/backend/src/services/knowledge/fts5-index.service.js.map +0 -1
- package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.d.ts +0 -102
- package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.d.ts.map +0 -1
- package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.js +0 -118
- package/dist/cli/backend/src/services/knowledge/fts5-query-sanitizer.js.map +0 -1
- package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.d.ts +0 -56
- package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.d.ts.map +0 -1
- package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.js +0 -91
- package/dist/cli/backend/src/services/knowledge/fts5-search-strategy.js.map +0 -1
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts +0 -241
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts.map +0 -1
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js +0 -590
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js.map +0 -1
- package/dist/cli/backend/src/services/knowledge/knowledge.service.d.ts +0 -153
- package/dist/cli/backend/src/services/knowledge/knowledge.service.d.ts.map +0 -1
- package/dist/cli/backend/src/services/knowledge/knowledge.service.js +0 -409
- package/dist/cli/backend/src/services/knowledge/knowledge.service.js.map +0 -1
- package/dist/cli/backend/src/services/knowledge/learnings-index.service.d.ts +0 -159
- package/dist/cli/backend/src/services/knowledge/learnings-index.service.d.ts.map +0 -1
- package/dist/cli/backend/src/services/knowledge/learnings-index.service.js +0 -304
- package/dist/cli/backend/src/services/knowledge/learnings-index.service.js.map +0 -1
- package/dist/cli/backend/src/services/knowledge/vector-store.service.d.ts +0 -331
- package/dist/cli/backend/src/services/knowledge/vector-store.service.d.ts.map +0 -1
- package/dist/cli/backend/src/services/knowledge/vector-store.service.js +0 -830
- package/dist/cli/backend/src/services/knowledge/vector-store.service.js.map +0 -1
- package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.d.ts +0 -115
- package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.d.ts.map +0 -1
- package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.js +0 -215
- package/dist/cli/backend/src/services/knowledge/wiki-compiler.service.js.map +0 -1
- package/dist/cli/backend/src/services/memory/embedding-provider.d.ts +0 -78
- package/dist/cli/backend/src/services/memory/embedding-provider.d.ts.map +0 -1
- package/dist/cli/backend/src/services/memory/embedding-provider.js +0 -179
- package/dist/cli/backend/src/services/memory/embedding-provider.js.map +0 -1
- package/dist/cli/backend/src/services/memory/vector-store.service.d.ts +0 -331
- package/dist/cli/backend/src/services/memory/vector-store.service.d.ts.map +0 -1
- package/dist/cli/backend/src/services/memory/vector-store.service.js +0 -814
- package/dist/cli/backend/src/services/memory/vector-store.service.js.map +0 -1
- package/dist/cli/backend/src/services/project/task-tracking.service.d.ts +0 -171
- package/dist/cli/backend/src/services/project/task-tracking.service.d.ts.map +0 -1
- package/dist/cli/backend/src/services/project/task-tracking.service.js +0 -725
- package/dist/cli/backend/src/services/project/task-tracking.service.js.map +0 -1
- package/dist/cli/backend/src/types/auto-assign.types.d.ts +0 -271
- package/dist/cli/backend/src/types/auto-assign.types.d.ts.map +0 -1
- package/dist/cli/backend/src/types/auto-assign.types.js +0 -136
- package/dist/cli/backend/src/types/auto-assign.types.js.map +0 -1
- package/dist/cli/backend/src/types/knowledge.types.d.ts +0 -195
- package/dist/cli/backend/src/types/knowledge.types.d.ts.map +0 -1
- package/dist/cli/backend/src/types/knowledge.types.js +0 -38
- 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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"}
|