crewly 1.20.133 → 1.20.135
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/skills/agent/core/block-task/SKILL.md +16 -3
- package/dist/backend/backend/src/constants.d.ts +82 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +87 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/bundle/bundle.controller.d.ts +44 -0
- package/dist/backend/backend/src/controllers/bundle/bundle.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/bundle/bundle.controller.js +122 -0
- package/dist/backend/backend/src/controllers/bundle/bundle.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/bundle/bundle.routes.d.ts +25 -0
- package/dist/backend/backend/src/controllers/bundle/bundle.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/bundle/bundle.routes.js +33 -0
- package/dist/backend/backend/src/controllers/bundle/bundle.routes.js.map +1 -0
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts +6 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +9 -2
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +28 -0
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.js +4 -0
- package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +43 -7
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +144 -51
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/registration-flow-registry.d.ts +92 -0
- package/dist/backend/backend/src/services/agent/registration-flow-registry.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/registration-flow-registry.js +121 -0
- package/dist/backend/backend/src/services/agent/registration-flow-registry.js.map +1 -0
- package/dist/backend/backend/src/services/agent/resumed-kickoff.d.ts +66 -0
- package/dist/backend/backend/src/services/agent/resumed-kickoff.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/resumed-kickoff.js +72 -0
- package/dist/backend/backend/src/services/agent/resumed-kickoff.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-apply.factory.d.ts +62 -0
- package/dist/backend/backend/src/services/bundle/bundle-apply.factory.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-apply.factory.js +173 -0
- package/dist/backend/backend/src/services/bundle/bundle-apply.factory.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-apply.service.d.ts +359 -0
- package/dist/backend/backend/src/services/bundle/bundle-apply.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-apply.service.js +888 -0
- package/dist/backend/backend/src/services/bundle/bundle-apply.service.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-catalog.d.ts +167 -0
- package/dist/backend/backend/src/services/bundle/bundle-catalog.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-catalog.js +248 -0
- package/dist/backend/backend/src/services/bundle/bundle-catalog.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-connectors.d.ts +43 -0
- package/dist/backend/backend/src/services/bundle/bundle-connectors.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-connectors.js +57 -0
- package/dist/backend/backend/src/services/bundle/bundle-connectors.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-deps.d.ts +37 -0
- package/dist/backend/backend/src/services/bundle/bundle-deps.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-deps.js +60 -0
- package/dist/backend/backend/src/services/bundle/bundle-deps.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-manifest.d.ts +93 -0
- package/dist/backend/backend/src/services/bundle/bundle-manifest.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-manifest.js +532 -0
- package/dist/backend/backend/src/services/bundle/bundle-manifest.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-placeholders.d.ts +100 -0
- package/dist/backend/backend/src/services/bundle/bundle-placeholders.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-placeholders.js +183 -0
- package/dist/backend/backend/src/services/bundle/bundle-placeholders.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-runtime.d.ts +36 -0
- package/dist/backend/backend/src/services/bundle/bundle-runtime.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-runtime.js +38 -0
- package/dist/backend/backend/src/services/bundle/bundle-runtime.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-skill-installer.d.ts +105 -0
- package/dist/backend/backend/src/services/bundle/bundle-skill-installer.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-skill-installer.js +144 -0
- package/dist/backend/backend/src/services/bundle/bundle-skill-installer.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-state.store.d.ts +48 -0
- package/dist/backend/backend/src/services/bundle/bundle-state.store.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-state.store.js +90 -0
- package/dist/backend/backend/src/services/bundle/bundle-state.store.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-team.builder.d.ts +81 -0
- package/dist/backend/backend/src/services/bundle/bundle-team.builder.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-team.builder.js +172 -0
- package/dist/backend/backend/src/services/bundle/bundle-team.builder.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-time.d.ts +59 -0
- package/dist/backend/backend/src/services/bundle/bundle-time.d.ts.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-time.js +98 -0
- package/dist/backend/backend/src/services/bundle/bundle-time.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js +5 -0
- package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js.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/core/teams-backup.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/core/teams-backup.service.js +4 -2
- package/dist/backend/backend/src/services/core/teams-backup.service.js.map +1 -1
- package/dist/backend/backend/src/services/onboarding/onboarding-checklist.factory.d.ts.map +1 -1
- package/dist/backend/backend/src/services/onboarding/onboarding-checklist.factory.js +2 -0
- package/dist/backend/backend/src/services/onboarding/onboarding-checklist.factory.js.map +1 -1
- package/dist/backend/backend/src/services/onboarding/onboarding-checklist.service.d.ts +14 -2
- package/dist/backend/backend/src/services/onboarding/onboarding-checklist.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/onboarding/onboarding-checklist.service.js +37 -1
- package/dist/backend/backend/src/services/onboarding/onboarding-checklist.service.js.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +9 -1
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -1
- 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 +8 -0
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +21 -0
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +85 -0
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +32 -0
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js +60 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/backend/backend/src/services/template/template.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/template/template.service.js +5 -2
- package/dist/backend/backend/src/services/template/template.service.js.map +1 -1
- package/dist/backend/backend/src/services/workflow/cron-task.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/workflow/cron-task.service.js +4 -2
- package/dist/backend/backend/src/services/workflow/cron-task.service.js.map +1 -1
- package/dist/backend/backend/src/types/solution-bundle.types.d.ts +367 -0
- package/dist/backend/backend/src/types/solution-bundle.types.d.ts.map +1 -0
- package/dist/backend/backend/src/types/solution-bundle.types.js +17 -0
- package/dist/backend/backend/src/types/solution-bundle.types.js.map +1 -0
- package/dist/backend/backend/src/types/team-template.types.d.ts +8 -0
- package/dist/backend/backend/src/types/team-template.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/team-template.types.js.map +1 -1
- package/dist/backend/backend/src/types/v2/work-item.types.d.ts +37 -0
- package/dist/backend/backend/src/types/v2/work-item.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/v2/work-item.types.js +33 -0
- package/dist/backend/backend/src/types/v2/work-item.types.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +82 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +87 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +43 -7
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.js +144 -51
- package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/cli/backend/src/services/agent/registration-flow-registry.d.ts +92 -0
- package/dist/cli/backend/src/services/agent/registration-flow-registry.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/registration-flow-registry.js +121 -0
- package/dist/cli/backend/src/services/agent/registration-flow-registry.js.map +1 -0
- package/dist/cli/backend/src/services/agent/resumed-kickoff.d.ts +66 -0
- package/dist/cli/backend/src/services/agent/resumed-kickoff.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/resumed-kickoff.js +72 -0
- package/dist/cli/backend/src/services/agent/resumed-kickoff.js.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-apply.service.d.ts +359 -0
- package/dist/cli/backend/src/services/bundle/bundle-apply.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-apply.service.js +888 -0
- package/dist/cli/backend/src/services/bundle/bundle-apply.service.js.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-catalog.d.ts +167 -0
- package/dist/cli/backend/src/services/bundle/bundle-catalog.d.ts.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-catalog.js +248 -0
- package/dist/cli/backend/src/services/bundle/bundle-catalog.js.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-deps.d.ts +37 -0
- package/dist/cli/backend/src/services/bundle/bundle-deps.d.ts.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-deps.js +60 -0
- package/dist/cli/backend/src/services/bundle/bundle-deps.js.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-manifest.d.ts +93 -0
- package/dist/cli/backend/src/services/bundle/bundle-manifest.d.ts.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-manifest.js +532 -0
- package/dist/cli/backend/src/services/bundle/bundle-manifest.js.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-placeholders.d.ts +100 -0
- package/dist/cli/backend/src/services/bundle/bundle-placeholders.d.ts.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-placeholders.js +183 -0
- package/dist/cli/backend/src/services/bundle/bundle-placeholders.js.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-runtime.d.ts +36 -0
- package/dist/cli/backend/src/services/bundle/bundle-runtime.d.ts.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-runtime.js +38 -0
- package/dist/cli/backend/src/services/bundle/bundle-runtime.js.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-skill-installer.d.ts +105 -0
- package/dist/cli/backend/src/services/bundle/bundle-skill-installer.d.ts.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-skill-installer.js +144 -0
- package/dist/cli/backend/src/services/bundle/bundle-skill-installer.js.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-state.store.d.ts +48 -0
- package/dist/cli/backend/src/services/bundle/bundle-state.store.d.ts.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-state.store.js +90 -0
- package/dist/cli/backend/src/services/bundle/bundle-state.store.js.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-team.builder.d.ts +81 -0
- package/dist/cli/backend/src/services/bundle/bundle-team.builder.d.ts.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-team.builder.js +172 -0
- package/dist/cli/backend/src/services/bundle/bundle-team.builder.js.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-time.d.ts +59 -0
- package/dist/cli/backend/src/services/bundle/bundle-time.d.ts.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-time.js +98 -0
- package/dist/cli/backend/src/services/bundle/bundle-time.js.map +1 -0
- 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/core/teams-backup.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/core/teams-backup.service.js +4 -2
- package/dist/cli/backend/src/services/core/teams-backup.service.js.map +1 -1
- package/dist/cli/backend/src/services/marketplace/marketplace-installer.service.d.ts +72 -0
- package/dist/cli/backend/src/services/marketplace/marketplace-installer.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/marketplace/marketplace-installer.service.js +389 -0
- package/dist/cli/backend/src/services/marketplace/marketplace-installer.service.js.map +1 -0
- package/dist/cli/backend/src/services/messaging/index.d.ts +15 -0
- package/dist/cli/backend/src/services/messaging/index.d.ts.map +1 -0
- package/dist/cli/backend/src/services/messaging/index.js +20 -0
- package/dist/cli/backend/src/services/messaging/index.js.map +1 -0
- package/dist/cli/backend/src/services/messaging/queue-processor.service.d.ts +224 -0
- package/dist/cli/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/messaging/queue-processor.service.js +969 -0
- package/dist/cli/backend/src/services/messaging/queue-processor.service.js.map +1 -0
- package/dist/cli/backend/src/services/messaging/response-router.service.d.ts +110 -0
- package/dist/cli/backend/src/services/messaging/response-router.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/messaging/response-router.service.js +268 -0
- package/dist/cli/backend/src/services/messaging/response-router.service.js.map +1 -0
- package/dist/cli/backend/src/services/onboarding/onboarding-checklist.service.d.ts +14 -2
- package/dist/cli/backend/src/services/onboarding/onboarding-checklist.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/onboarding/onboarding-checklist.service.js +37 -1
- package/dist/cli/backend/src/services/onboarding/onboarding-checklist.service.js.map +1 -1
- package/dist/cli/backend/src/services/orchestrator/commitment-approval-guard.d.ts +133 -0
- package/dist/cli/backend/src/services/orchestrator/commitment-approval-guard.d.ts.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/commitment-approval-guard.js +232 -0
- package/dist/cli/backend/src/services/orchestrator/commitment-approval-guard.js.map +1 -0
- package/dist/cli/backend/src/services/skill/skill-catalog.service.d.ts +277 -0
- package/dist/cli/backend/src/services/skill/skill-catalog.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/skill/skill-catalog.service.js +708 -0
- package/dist/cli/backend/src/services/skill/skill-catalog.service.js.map +1 -0
- package/dist/cli/backend/src/services/skill-setup/skill-install-job.service.d.ts +243 -0
- package/dist/cli/backend/src/services/skill-setup/skill-install-job.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/skill-setup/skill-install-job.service.js +439 -0
- package/dist/cli/backend/src/services/skill-setup/skill-install-job.service.js.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +21 -0
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +85 -0
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +32 -0
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js +60 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/cli/backend/src/services/template/template.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/template/template.service.js +5 -2
- package/dist/cli/backend/src/services/template/template.service.js.map +1 -1
- package/dist/cli/backend/src/services/workflow/cron-task.service.d.ts +316 -0
- package/dist/cli/backend/src/services/workflow/cron-task.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/workflow/cron-task.service.js +1043 -0
- package/dist/cli/backend/src/services/workflow/cron-task.service.js.map +1 -0
- package/dist/cli/backend/src/types/cron-task.types.d.ts +95 -0
- package/dist/cli/backend/src/types/cron-task.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/cron-task.types.js +10 -0
- package/dist/cli/backend/src/types/cron-task.types.js.map +1 -0
- package/dist/cli/backend/src/types/solution-bundle.types.d.ts +367 -0
- package/dist/cli/backend/src/types/solution-bundle.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/solution-bundle.types.js +17 -0
- package/dist/cli/backend/src/types/solution-bundle.types.js.map +1 -0
- package/dist/cli/backend/src/types/team-template.types.d.ts +8 -0
- package/dist/cli/backend/src/types/team-template.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/team-template.types.js.map +1 -1
- package/dist/cli/backend/src/types/v2/work-item.types.d.ts +37 -0
- package/dist/cli/backend/src/types/v2/work-item.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/v2/work-item.types.js +33 -0
- package/dist/cli/backend/src/types/v2/work-item.types.js.map +1 -1
- package/dist/cli/cli/src/commands/deploy-bundle.d.ts +160 -0
- package/dist/cli/cli/src/commands/deploy-bundle.d.ts.map +1 -0
- package/dist/cli/cli/src/commands/deploy-bundle.js +386 -0
- package/dist/cli/cli/src/commands/deploy-bundle.js.map +1 -0
- package/dist/cli/cli/src/commands/onboard.d.ts +32 -1
- package/dist/cli/cli/src/commands/onboard.d.ts.map +1 -1
- package/dist/cli/cli/src/commands/onboard.js +80 -3
- package/dist/cli/cli/src/commands/onboard.js.map +1 -1
- package/dist/cli/cli/src/constants.d.ts +5 -0
- package/dist/cli/cli/src/constants.d.ts.map +1 -1
- package/dist/cli/cli/src/constants.js +5 -0
- package/dist/cli/cli/src/constants.js.map +1 -1
- package/dist/cli/cli/src/index.js +15 -0
- package/dist/cli/cli/src/index.js.map +1 -1
- package/frontend/dist/assets/{index-e6c403b6.js → index-2c7ee4a6.js} +276 -276
- package/frontend/dist/index.html +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill Catalog Service
|
|
3
|
+
*
|
|
4
|
+
* Scans skill directories (orchestrator and agent), reads SKILL.md
|
|
5
|
+
* (YAML frontmatter + markdown body) from each, and generates formatted
|
|
6
|
+
* catalog Markdown files at ~/.crewly/skills/.
|
|
7
|
+
*
|
|
8
|
+
* Generates two catalogs:
|
|
9
|
+
* - SKILLS_CATALOG.md for orchestrator skills
|
|
10
|
+
* - AGENT_SKILLS_CATALOG.md for agent skills
|
|
11
|
+
*
|
|
12
|
+
* Each catalog provides a human-readable and LLM-readable reference of all
|
|
13
|
+
* available skills grouped by category, including usage examples and parameter
|
|
14
|
+
* documentation extracted from each skill's SKILL.md body.
|
|
15
|
+
*
|
|
16
|
+
* @module services/skill/skill-catalog.service
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Result of the catalog generation process.
|
|
20
|
+
*/
|
|
21
|
+
export interface CatalogGenerationResult {
|
|
22
|
+
/** Whether the catalog was successfully generated */
|
|
23
|
+
success: boolean;
|
|
24
|
+
/** Absolute path to the generated catalog file */
|
|
25
|
+
catalogPath: string;
|
|
26
|
+
/** Total number of skills included in the catalog */
|
|
27
|
+
skillCount: number;
|
|
28
|
+
/** Number of distinct categories in the catalog */
|
|
29
|
+
categoryCount: number;
|
|
30
|
+
/** Error message if generation failed */
|
|
31
|
+
error?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Service for generating a Markdown skills catalog from orchestrator skill directories.
|
|
35
|
+
*
|
|
36
|
+
* Scans config/skills/orchestrator/ for subdirectories (skipping _common),
|
|
37
|
+
* reads skill.json and instructions.md from each, groups skills by category,
|
|
38
|
+
* and writes a formatted SKILLS_CATALOG.md to ~/.crewly/skills/.
|
|
39
|
+
*
|
|
40
|
+
* Uses a singleton pattern consistent with other Crewly services.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```typescript
|
|
44
|
+
* const catalogService = SkillCatalogService.getInstance('/path/to/project');
|
|
45
|
+
* const result = await catalogService.generateCatalog();
|
|
46
|
+
* console.log(`Generated catalog at ${result.catalogPath} with ${result.skillCount} skills`);
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export declare class SkillCatalogService {
|
|
50
|
+
private static instance;
|
|
51
|
+
private readonly logger;
|
|
52
|
+
private readonly projectRoot;
|
|
53
|
+
private readonly catalogDir;
|
|
54
|
+
/**
|
|
55
|
+
* Create a new SkillCatalogService instance.
|
|
56
|
+
*
|
|
57
|
+
* @param projectRoot - Absolute path to the project root directory.
|
|
58
|
+
* Defaults to the current working directory if not provided.
|
|
59
|
+
*/
|
|
60
|
+
constructor(projectRoot?: string);
|
|
61
|
+
/**
|
|
62
|
+
* #222: Resolve the Crewly install directory from __dirname or CWD.
|
|
63
|
+
*
|
|
64
|
+
* @returns Absolute path to the Crewly install directory
|
|
65
|
+
*/
|
|
66
|
+
private resolveInstallDir;
|
|
67
|
+
/**
|
|
68
|
+
* Get the singleton SkillCatalogService instance.
|
|
69
|
+
*
|
|
70
|
+
* Creates a new instance on first call with the provided project root,
|
|
71
|
+
* or returns the existing instance on subsequent calls.
|
|
72
|
+
*
|
|
73
|
+
* @param projectRoot - Absolute path to the project root directory
|
|
74
|
+
* @returns The shared SkillCatalogService instance
|
|
75
|
+
*/
|
|
76
|
+
static getInstance(projectRoot?: string): SkillCatalogService;
|
|
77
|
+
/**
|
|
78
|
+
* Reset the singleton instance.
|
|
79
|
+
*
|
|
80
|
+
* Used primarily for testing to ensure a clean state between test runs.
|
|
81
|
+
*/
|
|
82
|
+
static clearInstance(): void;
|
|
83
|
+
/**
|
|
84
|
+
* Generate the skills catalog by scanning skill directories and writing
|
|
85
|
+
* the formatted Markdown file.
|
|
86
|
+
*
|
|
87
|
+
* This method performs the following steps:
|
|
88
|
+
* 1. Ensures the output directory (~/.crewly/skills/) exists
|
|
89
|
+
* 2. Scans config/skills/orchestrator/ for skill subdirectories
|
|
90
|
+
* 3. Reads skill.json and instructions.md from each valid directory
|
|
91
|
+
* 4. Groups loaded skills by their category field
|
|
92
|
+
* 5. Renders a Markdown catalog document
|
|
93
|
+
* 6. Writes the catalog to ~/.crewly/skills/SKILLS_CATALOG.md
|
|
94
|
+
*
|
|
95
|
+
* @returns A result object with success status, path, and counts
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* ```typescript
|
|
99
|
+
* const result = await catalogService.generateCatalog();
|
|
100
|
+
* if (result.success) {
|
|
101
|
+
* console.log(`Catalog written to ${result.catalogPath}`);
|
|
102
|
+
* } else {
|
|
103
|
+
* console.error(`Catalog generation failed: ${result.error}`);
|
|
104
|
+
* }
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
generateCatalog(): Promise<CatalogGenerationResult>;
|
|
108
|
+
/**
|
|
109
|
+
* Generate the agent skills catalog by scanning agent skill directories
|
|
110
|
+
* and writing a formatted Markdown file.
|
|
111
|
+
*
|
|
112
|
+
* This method mirrors generateCatalog() but targets config/skills/agent/
|
|
113
|
+
* and writes to ~/.crewly/skills/AGENT_SKILLS_CATALOG.md.
|
|
114
|
+
*
|
|
115
|
+
* @returns A result object with success status, path, and counts
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* ```typescript
|
|
119
|
+
* const result = await catalogService.generateAgentCatalog();
|
|
120
|
+
* if (result.success) {
|
|
121
|
+
* console.log(`Agent catalog written to ${result.catalogPath}`);
|
|
122
|
+
* }
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
125
|
+
generateAgentCatalog(): Promise<CatalogGenerationResult>;
|
|
126
|
+
/**
|
|
127
|
+
* Get the absolute path where the orchestrator catalog file will be written.
|
|
128
|
+
*
|
|
129
|
+
* @returns Absolute path to ~/.crewly/skills/SKILLS_CATALOG.md
|
|
130
|
+
*/
|
|
131
|
+
getCatalogPath(): string;
|
|
132
|
+
/**
|
|
133
|
+
* Get the absolute path where the agent catalog file will be written.
|
|
134
|
+
*
|
|
135
|
+
* @returns Absolute path to ~/.crewly/skills/AGENT_SKILLS_CATALOG.md
|
|
136
|
+
*/
|
|
137
|
+
getAgentCatalogPath(): string;
|
|
138
|
+
/**
|
|
139
|
+
* Ensure the catalog output directory exists, creating it recursively
|
|
140
|
+
* if necessary.
|
|
141
|
+
*
|
|
142
|
+
* Uses synchronous mkdirSync since this is a one-time setup operation
|
|
143
|
+
* that must complete before writing the catalog.
|
|
144
|
+
*/
|
|
145
|
+
private ensureCatalogDirectory;
|
|
146
|
+
/**
|
|
147
|
+
* Scan the orchestrator skills directory for valid skill subdirectories,
|
|
148
|
+
* plus agent skills whose `assignableRoles` includes `orchestrator`.
|
|
149
|
+
*
|
|
150
|
+
* Pipeline-#4 fix (spec 2026-05-05-request-decompose-pipeline-gap.md, Patch C
|
|
151
|
+
* zero-LOC alternative): some materialisation skills (e.g.
|
|
152
|
+
* `agent/core/break-down-request`) are role-shared between agents and the
|
|
153
|
+
* orchestrator and live under `config/skills/agent/core/`. Without this
|
|
154
|
+
* cross-scan, the orchestrator's catalog would not surface them and the orc
|
|
155
|
+
* would have no discoverable path to materialise WorkItems for a Request,
|
|
156
|
+
* even though the prompt at prompt-builder.service.ts:374 instructs it to.
|
|
157
|
+
*
|
|
158
|
+
* Skills already present under `config/skills/orchestrator/` win on
|
|
159
|
+
* collisions (deduped by name), so adding an explicit orchestrator-side
|
|
160
|
+
* skill later transparently shadows the agent-side one.
|
|
161
|
+
*
|
|
162
|
+
* @returns Array of loaded skills with their definitions and instructions
|
|
163
|
+
*/
|
|
164
|
+
private scanSkillDirectories;
|
|
165
|
+
/**
|
|
166
|
+
* Scan a skills directory for valid skill subdirectories.
|
|
167
|
+
*
|
|
168
|
+
* Reads each subdirectory (skipping entries in SKIP_DIRECTORIES),
|
|
169
|
+
* loads skill.json and instructions.md from each, and returns an array
|
|
170
|
+
* of successfully loaded skills. Directories that fail to load are
|
|
171
|
+
* logged as warnings but do not cause the entire scan to fail.
|
|
172
|
+
*
|
|
173
|
+
* When a subdirectory has no skill.json, it is treated as a category
|
|
174
|
+
* directory (e.g. core/, marketplace/) and its children are scanned.
|
|
175
|
+
*
|
|
176
|
+
* @param pathOrRelative - Path to the skills directory. Joined with
|
|
177
|
+
* projectRoot by default; used directly when `options.absolute` is true.
|
|
178
|
+
* @param options - Optional flags to control path resolution and basePath tagging
|
|
179
|
+
* @returns Array of loaded skills with their definitions and instructions
|
|
180
|
+
*/
|
|
181
|
+
private scanSkillDirectoriesAt;
|
|
182
|
+
/**
|
|
183
|
+
* Load a single skill from a directory by reading its SKILL.md file
|
|
184
|
+
* (YAML frontmatter + markdown body). Falls back to legacy skill.json
|
|
185
|
+
* + instructions.md format for backward compatibility.
|
|
186
|
+
*
|
|
187
|
+
* @param parentDir - Absolute path to the parent skills directory
|
|
188
|
+
* @param dirName - Name of the skill subdirectory
|
|
189
|
+
* @returns A LoadedSkill object, or null if loading fails
|
|
190
|
+
*/
|
|
191
|
+
private loadSkillFromDirectory;
|
|
192
|
+
/**
|
|
193
|
+
* Load a skill from SKILL.md format (YAML frontmatter + markdown body).
|
|
194
|
+
*
|
|
195
|
+
* @param skillDir - Absolute path to the skill directory
|
|
196
|
+
* @param skillMdPath - Path to the SKILL.md file
|
|
197
|
+
* @param dirName - Name of the skill subdirectory
|
|
198
|
+
* @returns A LoadedSkill object, or null if loading fails
|
|
199
|
+
*/
|
|
200
|
+
private loadSkillFromSkillMd;
|
|
201
|
+
/**
|
|
202
|
+
* Load a skill from legacy skill.json + instructions.md format.
|
|
203
|
+
*
|
|
204
|
+
* @param skillDir - Absolute path to the skill directory
|
|
205
|
+
* @param skillJsonPath - Path to the skill.json file
|
|
206
|
+
* @param dirName - Name of the skill subdirectory
|
|
207
|
+
* @returns A LoadedSkill object, or null if loading fails
|
|
208
|
+
*/
|
|
209
|
+
private loadSkillFromLegacyJson;
|
|
210
|
+
/**
|
|
211
|
+
* Group loaded skills by their category field.
|
|
212
|
+
*
|
|
213
|
+
* Categories are title-cased for display (e.g., "management" becomes "Management").
|
|
214
|
+
* Skills within each category are maintained in their current sorted order.
|
|
215
|
+
*
|
|
216
|
+
* @param skills - Array of loaded skills to group
|
|
217
|
+
* @returns Map of category display name to array of skills in that category
|
|
218
|
+
*/
|
|
219
|
+
private groupByCategory;
|
|
220
|
+
/**
|
|
221
|
+
* Format a raw category string into a display-friendly title.
|
|
222
|
+
*
|
|
223
|
+
* Capitalizes the first letter of each word and replaces hyphens/underscores
|
|
224
|
+
* with spaces (e.g., "task-management" becomes "Task Management").
|
|
225
|
+
*
|
|
226
|
+
* @param category - Raw category string from skill.json
|
|
227
|
+
* @returns Formatted category display name
|
|
228
|
+
*/
|
|
229
|
+
private formatCategoryName;
|
|
230
|
+
/**
|
|
231
|
+
* Render the complete Markdown catalog document from grouped skills.
|
|
232
|
+
*
|
|
233
|
+
* Delegates to renderCatalogWithConfig() with orchestrator defaults.
|
|
234
|
+
*
|
|
235
|
+
* @param groupedSkills - Map of category name to skills in that category
|
|
236
|
+
* @returns Complete Markdown document as a string
|
|
237
|
+
*/
|
|
238
|
+
private renderCatalog;
|
|
239
|
+
/**
|
|
240
|
+
* Render the complete Markdown catalog document from grouped skills
|
|
241
|
+
* with configurable title and path prefix.
|
|
242
|
+
*
|
|
243
|
+
* Produces the full catalog including header, usage instructions,
|
|
244
|
+
* category sections, and individual skill entries with descriptions
|
|
245
|
+
* and parameter documentation extracted from instructions.md.
|
|
246
|
+
*
|
|
247
|
+
* @param groupedSkills - Map of category name to skills in that category
|
|
248
|
+
* @param config - Catalog rendering configuration
|
|
249
|
+
* @param config.title - Catalog title for the Markdown heading
|
|
250
|
+
* @param config.skillsRelativePath - Relative path prefix for skill usage commands
|
|
251
|
+
* @returns Complete Markdown document as a string
|
|
252
|
+
*/
|
|
253
|
+
private renderCatalogWithConfig;
|
|
254
|
+
/**
|
|
255
|
+
* Render a single skill entry as Markdown lines.
|
|
256
|
+
*
|
|
257
|
+
* Includes the skill name, description, usage command, and any
|
|
258
|
+
* Parameters section extracted from the skill's instructions.md.
|
|
259
|
+
*
|
|
260
|
+
* @param skill - The loaded skill to render
|
|
261
|
+
* @param skillsRelativePath - Relative path prefix for usage command
|
|
262
|
+
* @returns Array of Markdown lines for this skill entry
|
|
263
|
+
*/
|
|
264
|
+
private renderSkillEntry;
|
|
265
|
+
/**
|
|
266
|
+
* Extract the Parameters section from an instructions.md file's content.
|
|
267
|
+
*
|
|
268
|
+
* Uses a line-based approach to find the "## Parameters" heading and capture
|
|
269
|
+
* all content until the next heading of the same or higher level (# or ##)
|
|
270
|
+
* or the end of the file. Returns null if no Parameters section is found.
|
|
271
|
+
*
|
|
272
|
+
* @param instructionsContent - Full content of the instructions.md file
|
|
273
|
+
* @returns The Parameters section content (without the heading), or null
|
|
274
|
+
*/
|
|
275
|
+
private extractParametersSection;
|
|
276
|
+
}
|
|
277
|
+
//# sourceMappingURL=skill-catalog.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-catalog.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/skill/skill-catalog.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAoGH;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoC;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC;;;;;OAKG;gBACS,WAAW,CAAC,EAAE,MAAM;IAOhC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAazB;;;;;;;;OAQG;WACW,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAOpE;;;;OAIG;WACW,aAAa,IAAI,IAAI;IAInC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACU,eAAe,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAkEhE;;;;;;;;;;;;;;;;OAgBG;IACU,oBAAoB,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAoGrE;;;;OAIG;IACI,cAAc,IAAI,MAAM;IAI/B;;;;OAIG;IACI,mBAAmB,IAAI,MAAM;IAQpC;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAM9B;;;;;;;;;;;;;;;;;OAiBG;YACW,oBAAoB;IA4BlC;;;;;;;;;;;;;;;OAeG;YACW,sBAAsB;IA2DpC;;;;;;;;OAQG;YACW,sBAAsB;IAqBpC;;;;;;;OAOG;YACW,oBAAoB;IA2ClC;;;;;;;OAOG;YACW,uBAAuB;IAsCrC;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAkBvB;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IASrB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,uBAAuB;IAmC/B;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB;IA8BxB;;;;;;;;;OASG;IACH,OAAO,CAAC,wBAAwB;CAiCjC"}
|