teamcast 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +654 -0
- package/dist/application/build-generated-files.d.ts +8 -0
- package/dist/application/build-generated-files.d.ts.map +1 -0
- package/dist/application/build-generated-files.js +16 -0
- package/dist/application/build-generated-files.js.map +1 -0
- package/dist/application/team.d.ts +27 -0
- package/dist/application/team.d.ts.map +1 -0
- package/dist/application/team.js +203 -0
- package/dist/application/team.js.map +1 -0
- package/dist/application/validate-team.d.ts +32 -0
- package/dist/application/validate-team.d.ts.map +1 -0
- package/dist/application/validate-team.js +132 -0
- package/dist/application/validate-team.js.map +1 -0
- package/dist/cli/diff.d.ts +3 -0
- package/dist/cli/diff.d.ts.map +1 -0
- package/dist/cli/diff.js +57 -0
- package/dist/cli/diff.js.map +1 -0
- package/dist/cli/explain.d.ts +3 -0
- package/dist/cli/explain.d.ts.map +1 -0
- package/dist/cli/explain.js +29 -0
- package/dist/cli/explain.js.map +1 -0
- package/dist/cli/generate.d.ts +3 -0
- package/dist/cli/generate.d.ts.map +1 -0
- package/dist/cli/generate.js +68 -0
- package/dist/cli/generate.js.map +1 -0
- package/dist/cli/import.d.ts +3 -0
- package/dist/cli/import.d.ts.map +1 -0
- package/dist/cli/import.js +93 -0
- package/dist/cli/import.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +19 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/init.d.ts +3 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +155 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/manage.d.ts +3 -0
- package/dist/cli/manage.d.ts.map +1 -0
- package/dist/cli/manage.js +350 -0
- package/dist/cli/manage.js.map +1 -0
- package/dist/cli/manifest-validation.d.ts +13 -0
- package/dist/cli/manifest-validation.d.ts.map +1 -0
- package/dist/cli/manifest-validation.js +38 -0
- package/dist/cli/manifest-validation.js.map +1 -0
- package/dist/cli/reset.d.ts +3 -0
- package/dist/cli/reset.d.ts.map +1 -0
- package/dist/cli/reset.js +116 -0
- package/dist/cli/reset.js.map +1 -0
- package/dist/cli/validate.d.ts +3 -0
- package/dist/cli/validate.d.ts.map +1 -0
- package/dist/cli/validate.js +48 -0
- package/dist/cli/validate.js.map +1 -0
- package/dist/components/agent-fragments.d.ts +15 -0
- package/dist/components/agent-fragments.d.ts.map +1 -0
- package/dist/components/agent-fragments.js +163 -0
- package/dist/components/agent-fragments.js.map +1 -0
- package/dist/components/policy-fragments.d.ts +5 -0
- package/dist/components/policy-fragments.d.ts.map +1 -0
- package/dist/components/policy-fragments.js +125 -0
- package/dist/components/policy-fragments.js.map +1 -0
- package/dist/core/assertions.d.ts +28 -0
- package/dist/core/assertions.d.ts.map +1 -0
- package/dist/core/assertions.js +11 -0
- package/dist/core/assertions.js.map +1 -0
- package/dist/core/guards.d.ts +11 -0
- package/dist/core/guards.d.ts.map +1 -0
- package/dist/core/guards.js +20 -0
- package/dist/core/guards.js.map +1 -0
- package/dist/core/index.d.ts +9 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +9 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/instructions.d.ts +10 -0
- package/dist/core/instructions.d.ts.map +1 -0
- package/dist/core/instructions.js +33 -0
- package/dist/core/instructions.js.map +1 -0
- package/dist/core/permissions.d.ts +10 -0
- package/dist/core/permissions.d.ts.map +1 -0
- package/dist/core/permissions.js +67 -0
- package/dist/core/permissions.js.map +1 -0
- package/dist/core/policy-evaluator.d.ts +5 -0
- package/dist/core/policy-evaluator.d.ts.map +1 -0
- package/dist/core/policy-evaluator.js +161 -0
- package/dist/core/policy-evaluator.js.map +1 -0
- package/dist/core/skill-resolver.d.ts +8 -0
- package/dist/core/skill-resolver.d.ts.map +1 -0
- package/dist/core/skill-resolver.js +17 -0
- package/dist/core/skill-resolver.js.map +1 -0
- package/dist/core/skills.d.ts +4 -0
- package/dist/core/skills.d.ts.map +1 -0
- package/dist/core/skills.js +14 -0
- package/dist/core/skills.js.map +1 -0
- package/dist/core/types.d.ts +117 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +6 -0
- package/dist/core/types.js.map +1 -0
- package/dist/detector/index.d.ts +7 -0
- package/dist/detector/index.d.ts.map +1 -0
- package/dist/detector/index.js +57 -0
- package/dist/detector/index.js.map +1 -0
- package/dist/diff/index.d.ts +10 -0
- package/dist/diff/index.d.ts.map +1 -0
- package/dist/diff/index.js +26 -0
- package/dist/diff/index.js.map +1 -0
- package/dist/explainer/index.d.ts +3 -0
- package/dist/explainer/index.d.ts.map +1 -0
- package/dist/explainer/index.js +85 -0
- package/dist/explainer/index.js.map +1 -0
- package/dist/generator/file-policies.d.ts +2 -0
- package/dist/generator/file-policies.d.ts.map +1 -0
- package/dist/generator/file-policies.js +4 -0
- package/dist/generator/file-policies.js.map +1 -0
- package/dist/generator/index.d.ts +5 -0
- package/dist/generator/index.d.ts.map +1 -0
- package/dist/generator/index.js +10 -0
- package/dist/generator/index.js.map +1 -0
- package/dist/generator/renderers/agent-md.d.ts +5 -0
- package/dist/generator/renderers/agent-md.d.ts.map +1 -0
- package/dist/generator/renderers/agent-md.js +66 -0
- package/dist/generator/renderers/agent-md.js.map +1 -0
- package/dist/generator/renderers/agents-md.d.ts +4 -0
- package/dist/generator/renderers/agents-md.d.ts.map +1 -0
- package/dist/generator/renderers/agents-md.js +86 -0
- package/dist/generator/renderers/agents-md.js.map +1 -0
- package/dist/generator/renderers/claude-md.d.ts +4 -0
- package/dist/generator/renderers/claude-md.d.ts.map +1 -0
- package/dist/generator/renderers/claude-md.js +68 -0
- package/dist/generator/renderers/claude-md.js.map +1 -0
- package/dist/generator/renderers/codex-config.d.ts +4 -0
- package/dist/generator/renderers/codex-config.d.ts.map +1 -0
- package/dist/generator/renderers/codex-config.js +145 -0
- package/dist/generator/renderers/codex-config.js.map +1 -0
- package/dist/generator/renderers/codex-skill-md.d.ts +4 -0
- package/dist/generator/renderers/codex-skill-md.d.ts.map +1 -0
- package/dist/generator/renderers/codex-skill-md.js +47 -0
- package/dist/generator/renderers/codex-skill-md.js.map +1 -0
- package/dist/generator/renderers/settings-json.d.ts +5 -0
- package/dist/generator/renderers/settings-json.d.ts.map +1 -0
- package/dist/generator/renderers/settings-json.js +100 -0
- package/dist/generator/renderers/settings-json.js.map +1 -0
- package/dist/generator/renderers/skill-md.d.ts +4 -0
- package/dist/generator/renderers/skill-md.d.ts.map +1 -0
- package/dist/generator/renderers/skill-md.js +44 -0
- package/dist/generator/renderers/skill-md.js.map +1 -0
- package/dist/generator/state.d.ts +14 -0
- package/dist/generator/state.d.ts.map +1 -0
- package/dist/generator/state.js +76 -0
- package/dist/generator/state.js.map +1 -0
- package/dist/generator/targets/claude.d.ts +3 -0
- package/dist/generator/targets/claude.d.ts.map +1 -0
- package/dist/generator/targets/claude.js +24 -0
- package/dist/generator/targets/claude.js.map +1 -0
- package/dist/generator/targets/codex.d.ts +3 -0
- package/dist/generator/targets/codex.d.ts.map +1 -0
- package/dist/generator/targets/codex.js +19 -0
- package/dist/generator/targets/codex.js.map +1 -0
- package/dist/generator/targets/index.d.ts +4 -0
- package/dist/generator/targets/index.d.ts.map +1 -0
- package/dist/generator/targets/index.js +10 -0
- package/dist/generator/targets/index.js.map +1 -0
- package/dist/generator/targets/types.d.ts +8 -0
- package/dist/generator/targets/types.d.ts.map +1 -0
- package/dist/generator/targets/types.js +2 -0
- package/dist/generator/targets/types.js.map +1 -0
- package/dist/generator/types.d.ts +11 -0
- package/dist/generator/types.d.ts.map +1 -0
- package/dist/generator/types.js +2 -0
- package/dist/generator/types.js.map +1 -0
- package/dist/generator/writer.d.ts +5 -0
- package/dist/generator/writer.d.ts.map +1 -0
- package/dist/generator/writer.js +14 -0
- package/dist/generator/writer.js.map +1 -0
- package/dist/importer/index.d.ts +12 -0
- package/dist/importer/index.d.ts.map +1 -0
- package/dist/importer/index.js +295 -0
- package/dist/importer/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/manifest/compat.d.ts +6 -0
- package/dist/manifest/compat.d.ts.map +1 -0
- package/dist/manifest/compat.js +56 -0
- package/dist/manifest/compat.js.map +1 -0
- package/dist/manifest/defaults.d.ts +4 -0
- package/dist/manifest/defaults.d.ts.map +1 -0
- package/dist/manifest/defaults.js +28 -0
- package/dist/manifest/defaults.js.map +1 -0
- package/dist/manifest/normalize.d.ts +14 -0
- package/dist/manifest/normalize.d.ts.map +1 -0
- package/dist/manifest/normalize.js +353 -0
- package/dist/manifest/normalize.js.map +1 -0
- package/dist/manifest/reader.d.ts +7 -0
- package/dist/manifest/reader.d.ts.map +1 -0
- package/dist/manifest/reader.js +36 -0
- package/dist/manifest/reader.js.map +1 -0
- package/dist/manifest/schema-validator.d.ts +13 -0
- package/dist/manifest/schema-validator.d.ts.map +1 -0
- package/dist/manifest/schema-validator.js +33 -0
- package/dist/manifest/schema-validator.js.map +1 -0
- package/dist/manifest/types.d.ts +150 -0
- package/dist/manifest/types.d.ts.map +1 -0
- package/dist/manifest/types.js +4 -0
- package/dist/manifest/types.js.map +1 -0
- package/dist/manifest/writer.d.ts +3 -0
- package/dist/manifest/writer.d.ts.map +1 -0
- package/dist/manifest/writer.js +10 -0
- package/dist/manifest/writer.js.map +1 -0
- package/dist/presets/index.d.ts +6 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/index.js +56 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/presets/types.d.ts +12 -0
- package/dist/presets/types.d.ts.map +1 -0
- package/dist/presets/types.js +2 -0
- package/dist/presets/types.js.map +1 -0
- package/dist/renderers/claude/agent-md.d.ts +5 -0
- package/dist/renderers/claude/agent-md.d.ts.map +1 -0
- package/dist/renderers/claude/agent-md.js +45 -0
- package/dist/renderers/claude/agent-md.js.map +1 -0
- package/dist/renderers/claude/docs.d.ts +5 -0
- package/dist/renderers/claude/docs.d.ts.map +1 -0
- package/dist/renderers/claude/docs.js +155 -0
- package/dist/renderers/claude/docs.js.map +1 -0
- package/dist/renderers/claude/index.d.ts +5 -0
- package/dist/renderers/claude/index.d.ts.map +1 -0
- package/dist/renderers/claude/index.js +23 -0
- package/dist/renderers/claude/index.js.map +1 -0
- package/dist/renderers/claude/policy-mapper.d.ts +10 -0
- package/dist/renderers/claude/policy-mapper.d.ts.map +1 -0
- package/dist/renderers/claude/policy-mapper.js +40 -0
- package/dist/renderers/claude/policy-mapper.js.map +1 -0
- package/dist/renderers/claude/settings.d.ts +5 -0
- package/dist/renderers/claude/settings.d.ts.map +1 -0
- package/dist/renderers/claude/settings.js +77 -0
- package/dist/renderers/claude/settings.js.map +1 -0
- package/dist/renderers/claude/skill-map.d.ts +16 -0
- package/dist/renderers/claude/skill-map.d.ts.map +1 -0
- package/dist/renderers/claude/skill-map.js +39 -0
- package/dist/renderers/claude/skill-map.js.map +1 -0
- package/dist/renderers/claude/skill-md.d.ts +4 -0
- package/dist/renderers/claude/skill-md.d.ts.map +1 -0
- package/dist/renderers/claude/skill-md.js +35 -0
- package/dist/renderers/claude/skill-md.js.map +1 -0
- package/dist/renderers/claude/tools.d.ts +4 -0
- package/dist/renderers/claude/tools.d.ts.map +1 -0
- package/dist/renderers/claude/tools.js +12 -0
- package/dist/renderers/claude/tools.js.map +1 -0
- package/dist/renderers/index.d.ts +3 -0
- package/dist/renderers/index.d.ts.map +1 -0
- package/dist/renderers/index.js +2 -0
- package/dist/renderers/index.js.map +1 -0
- package/dist/renderers/types.d.ts +12 -0
- package/dist/renderers/types.d.ts.map +1 -0
- package/dist/renderers/types.js +2 -0
- package/dist/renderers/types.js.map +1 -0
- package/dist/team-templates/policies.d.ts +4 -0
- package/dist/team-templates/policies.d.ts.map +1 -0
- package/dist/team-templates/policies.js +69 -0
- package/dist/team-templates/policies.js.map +1 -0
- package/dist/team-templates/presets.d.ts +6 -0
- package/dist/team-templates/presets.d.ts.map +1 -0
- package/dist/team-templates/presets.js +14 -0
- package/dist/team-templates/presets.js.map +1 -0
- package/dist/team-templates/roles.d.ts +22 -0
- package/dist/team-templates/roles.d.ts.map +1 -0
- package/dist/team-templates/roles.js +117 -0
- package/dist/team-templates/roles.js.map +1 -0
- package/dist/types/manifest.d.ts +11 -0
- package/dist/types/manifest.d.ts.map +1 -0
- package/dist/types/manifest.js +16 -0
- package/dist/types/manifest.js.map +1 -0
- package/dist/utils/chalk-helpers.d.ts +18 -0
- package/dist/utils/chalk-helpers.d.ts.map +1 -0
- package/dist/utils/chalk-helpers.js +51 -0
- package/dist/utils/chalk-helpers.js.map +1 -0
- package/dist/utils/prompts.d.ts +28 -0
- package/dist/utils/prompts.d.ts.map +1 -0
- package/dist/utils/prompts.js +51 -0
- package/dist/utils/prompts.js.map +1 -0
- package/dist/validator/checks/handoff-graph.d.ts +5 -0
- package/dist/validator/checks/handoff-graph.d.ts.map +1 -0
- package/dist/validator/checks/handoff-graph.js +65 -0
- package/dist/validator/checks/handoff-graph.js.map +1 -0
- package/dist/validator/checks/instruction-blocks.d.ts +5 -0
- package/dist/validator/checks/instruction-blocks.d.ts.map +1 -0
- package/dist/validator/checks/instruction-blocks.js +45 -0
- package/dist/validator/checks/instruction-blocks.js.map +1 -0
- package/dist/validator/checks/role-warnings.d.ts +5 -0
- package/dist/validator/checks/role-warnings.d.ts.map +1 -0
- package/dist/validator/checks/role-warnings.js +50 -0
- package/dist/validator/checks/role-warnings.js.map +1 -0
- package/dist/validator/checks/security-baseline.d.ts +3 -0
- package/dist/validator/checks/security-baseline.d.ts.map +1 -0
- package/dist/validator/checks/security-baseline.js +73 -0
- package/dist/validator/checks/security-baseline.js.map +1 -0
- package/dist/validator/checks/tool-conflicts.d.ts +5 -0
- package/dist/validator/checks/tool-conflicts.d.ts.map +1 -0
- package/dist/validator/checks/tool-conflicts.js +33 -0
- package/dist/validator/checks/tool-conflicts.js.map +1 -0
- package/dist/validator/index.d.ts +5 -0
- package/dist/validator/index.d.ts.map +1 -0
- package/dist/validator/index.js +28 -0
- package/dist/validator/index.js.map +1 -0
- package/dist/validator/reporter.d.ts +4 -0
- package/dist/validator/reporter.d.ts.map +1 -0
- package/dist/validator/reporter.js +76 -0
- package/dist/validator/reporter.js.map +1 -0
- package/dist/validator/types.d.ts +10 -0
- package/dist/validator/types.d.ts.map +1 -0
- package/dist/validator/types.js +2 -0
- package/dist/validator/types.js.map +1 -0
- package/dist/wizard/index.d.ts +7 -0
- package/dist/wizard/index.d.ts.map +1 -0
- package/dist/wizard/index.js +57 -0
- package/dist/wizard/index.js.map +1 -0
- package/dist/wizard/steps/agent-customization.d.ts +5 -0
- package/dist/wizard/steps/agent-customization.d.ts.map +1 -0
- package/dist/wizard/steps/agent-customization.js +68 -0
- package/dist/wizard/steps/agent-customization.js.map +1 -0
- package/dist/wizard/steps/confirm-generate.d.ts +3 -0
- package/dist/wizard/steps/confirm-generate.d.ts.map +1 -0
- package/dist/wizard/steps/confirm-generate.js +19 -0
- package/dist/wizard/steps/confirm-generate.js.map +1 -0
- package/dist/wizard/steps/custom-team.d.ts +3 -0
- package/dist/wizard/steps/custom-team.d.ts.map +1 -0
- package/dist/wizard/steps/custom-team.js +17 -0
- package/dist/wizard/steps/custom-team.js.map +1 -0
- package/dist/wizard/steps/project-context.d.ts +6 -0
- package/dist/wizard/steps/project-context.d.ts.map +1 -0
- package/dist/wizard/steps/project-context.js +24 -0
- package/dist/wizard/steps/project-context.js.map +1 -0
- package/dist/wizard/steps/team-selection.d.ts +5 -0
- package/dist/wizard/steps/team-selection.d.ts.map +1 -0
- package/dist/wizard/steps/team-selection.js +44 -0
- package/dist/wizard/steps/team-selection.js.map +1 -0
- package/package.json +56 -0
- package/schema/teamcast.schema.json +580 -0
- package/templates/presets/feature-team.yaml +77 -0
- package/templates/presets/research-and-build.yaml +69 -0
- package/templates/presets/secure-dev.yaml +93 -0
- package/templates/presets/solo-dev.yaml +32 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-md.d.ts","sourceRoot":"","sources":["../../../src/renderers/claude/skill-md.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA0BhD,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,EAAE,CAY5D"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
function generateSkillStub(skillName) {
|
|
2
|
+
const title = skillName
|
|
3
|
+
.split('-')
|
|
4
|
+
.map((word) => word.charAt(0).toUpperCase() + word.slice(1))
|
|
5
|
+
.join(' ');
|
|
6
|
+
return `# ${title}
|
|
7
|
+
|
|
8
|
+
## When to use this skill
|
|
9
|
+
|
|
10
|
+
Use this skill when <!-- describe the trigger condition -->.
|
|
11
|
+
|
|
12
|
+
## Steps
|
|
13
|
+
|
|
14
|
+
1. <!-- First step -->
|
|
15
|
+
2. <!-- Second step -->
|
|
16
|
+
3. <!-- Third step -->
|
|
17
|
+
|
|
18
|
+
## Output
|
|
19
|
+
|
|
20
|
+
<!-- Describe the expected output or artifact produced by this skill -->
|
|
21
|
+
`;
|
|
22
|
+
}
|
|
23
|
+
export function renderSkillMd(team) {
|
|
24
|
+
const skillNames = new Set();
|
|
25
|
+
for (const agent of Object.values(team.agents)) {
|
|
26
|
+
for (const skill of agent.runtime.skillDocs ?? []) {
|
|
27
|
+
skillNames.add(skill);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return [...skillNames].map((skillName) => ({
|
|
31
|
+
path: `.claude/skills/${skillName}/SKILL.md`,
|
|
32
|
+
content: generateSkillStub(skillName),
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=skill-md.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-md.js","sourceRoot":"","sources":["../../../src/renderers/claude/skill-md.ts"],"names":[],"mappings":"AAGA,SAAS,iBAAiB,CAAC,SAAiB;IAC1C,MAAM,KAAK,GAAG,SAAS;SACpB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,OAAO,KAAK,KAAK;;;;;;;;;;;;;;;CAelB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAc;IAC1C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;YAClD,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI,EAAE,kBAAkB,SAAS,WAAW;QAC5C,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC;KACtC,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type CanonicalTool = 'Read' | 'Write' | 'Edit' | 'MultiEdit' | 'Grep' | 'Glob' | 'Bash' | 'WebFetch' | 'WebSearch' | 'Agent' | 'AskUserQuestion' | 'TodoWrite' | 'TodoRead' | 'NotebookEdit';
|
|
2
|
+
export declare const CLAUDE_CODE_TOOLS: CanonicalTool[];
|
|
3
|
+
export declare const COMPAT_CLAUDE_CODE_TOOLS: Array<CanonicalTool | 'Task'>;
|
|
4
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/renderers/claude/tools.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,OAAO,GACP,MAAM,GACN,WAAW,GACX,MAAM,GACN,MAAM,GACN,MAAM,GACN,UAAU,GACV,WAAW,GACX,OAAO,GACP,iBAAiB,GACjB,WAAW,GACX,UAAU,GACV,cAAc,CAAC;AAEnB,eAAO,MAAM,iBAAiB,EAAE,aAAa,EAQ5C,CAAC;AAGF,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,aAAa,GAAG,MAAM,CAAkC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const CLAUDE_CODE_TOOLS = [
|
|
2
|
+
'Read', 'Write', 'Edit', 'MultiEdit',
|
|
3
|
+
'Grep', 'Glob',
|
|
4
|
+
'Bash',
|
|
5
|
+
'WebFetch', 'WebSearch',
|
|
6
|
+
'Agent',
|
|
7
|
+
'AskUserQuestion', 'TodoWrite', 'TodoRead',
|
|
8
|
+
'NotebookEdit',
|
|
9
|
+
];
|
|
10
|
+
// Extended set that includes the legacy 'Task' alias used in older manifests.
|
|
11
|
+
export const COMPAT_CLAUDE_CODE_TOOLS = [...CLAUDE_CODE_TOOLS, 'Task'];
|
|
12
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/renderers/claude/tools.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,MAAM,iBAAiB,GAAoB;IAChD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW;IACpC,MAAM,EAAE,MAAM;IACd,MAAM;IACN,UAAU,EAAE,WAAW;IACvB,OAAO;IACP,iBAAiB,EAAE,WAAW,EAAE,UAAU;IAC1C,cAAc;CACf,CAAC;AAEF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,wBAAwB,GAAkC,CAAC,GAAG,iBAAiB,EAAE,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/renderers/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/renderers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { CoreTeam } from '../core/types.js';
|
|
2
|
+
export interface RenderedFile {
|
|
3
|
+
path: string;
|
|
4
|
+
content: string;
|
|
5
|
+
}
|
|
6
|
+
export interface TeamRenderSpec {
|
|
7
|
+
team: CoreTeam;
|
|
8
|
+
}
|
|
9
|
+
export interface PlatformRenderer {
|
|
10
|
+
render(spec: TeamRenderSpec): RenderedFile[];
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/renderers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,YAAY,EAAE,CAAC;CAC9C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/renderers/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { TeamPolicies } from '../core/types.js';
|
|
2
|
+
export type PolicyBundleName = 'custom-team' | 'single-agent' | 'feature-team' | 'solo-dev' | 'research-and-build' | 'secure-dev';
|
|
3
|
+
export declare function createPolicies(bundle: PolicyBundleName): TeamPolicies;
|
|
4
|
+
//# sourceMappingURL=policies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policies.d.ts","sourceRoot":"","sources":["../../src/team-templates/policies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIrD,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,cAAc,GACd,cAAc,GACd,UAAU,GACV,oBAAoB,GACpB,YAAY,CAAC;AAmEjB,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,YAAY,CAErE"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { composePoliciesFromFragments } from '../components/policy-fragments.js';
|
|
2
|
+
const POLICY_BUNDLES = {
|
|
3
|
+
'custom-team': [
|
|
4
|
+
'allow-npm-run',
|
|
5
|
+
'allow-git-read',
|
|
6
|
+
'ask-git-push',
|
|
7
|
+
'deny-destructive-shell',
|
|
8
|
+
'deny-env-files',
|
|
9
|
+
'sandbox-default',
|
|
10
|
+
],
|
|
11
|
+
'single-agent': [
|
|
12
|
+
'allow-npm-run',
|
|
13
|
+
'allow-git-read',
|
|
14
|
+
'ask-git-push',
|
|
15
|
+
'deny-destructive-shell',
|
|
16
|
+
'deny-env-files',
|
|
17
|
+
'sandbox-default',
|
|
18
|
+
],
|
|
19
|
+
'feature-team': [
|
|
20
|
+
'allow-npm-run',
|
|
21
|
+
'allow-npm-test',
|
|
22
|
+
'allow-git-read',
|
|
23
|
+
'allow-git-write',
|
|
24
|
+
'ask-git-push',
|
|
25
|
+
'deny-destructive-shell',
|
|
26
|
+
'deny-network-downloads',
|
|
27
|
+
'deny-env-files',
|
|
28
|
+
'sandbox-default',
|
|
29
|
+
],
|
|
30
|
+
'solo-dev': [
|
|
31
|
+
'allow-npm-run',
|
|
32
|
+
'allow-npm-test',
|
|
33
|
+
'allow-git-read',
|
|
34
|
+
'allow-git-write',
|
|
35
|
+
'allow-npx',
|
|
36
|
+
'ask-git-push',
|
|
37
|
+
'deny-destructive-shell',
|
|
38
|
+
'deny-env-files',
|
|
39
|
+
'sandbox-default',
|
|
40
|
+
],
|
|
41
|
+
'research-and-build': [
|
|
42
|
+
'allow-npm-run',
|
|
43
|
+
'allow-npm-test',
|
|
44
|
+
'allow-git-read',
|
|
45
|
+
'allow-git-write',
|
|
46
|
+
'ask-git-push',
|
|
47
|
+
'deny-destructive-shell',
|
|
48
|
+
'deny-network-downloads',
|
|
49
|
+
'deny-env-files',
|
|
50
|
+
'sandbox-default',
|
|
51
|
+
],
|
|
52
|
+
'secure-dev': [
|
|
53
|
+
'allow-npm-run',
|
|
54
|
+
'allow-npm-test',
|
|
55
|
+
'allow-npm-audit',
|
|
56
|
+
'allow-git-read',
|
|
57
|
+
'allow-git-write',
|
|
58
|
+
'ask-git-push',
|
|
59
|
+
'deny-destructive-shell',
|
|
60
|
+
'deny-network-downloads',
|
|
61
|
+
'deny-dynamic-exec',
|
|
62
|
+
'deny-env-files',
|
|
63
|
+
'sandbox-default',
|
|
64
|
+
],
|
|
65
|
+
};
|
|
66
|
+
export function createPolicies(bundle) {
|
|
67
|
+
return composePoliciesFromFragments(POLICY_BUNDLES[bundle]);
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=policies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policies.js","sourceRoot":"","sources":["../../src/team-templates/policies.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAUjF,MAAM,cAAc,GAAmD;IACrE,aAAa,EAAE;QACb,eAAe;QACf,gBAAgB;QAChB,cAAc;QACd,wBAAwB;QACxB,gBAAgB;QAChB,iBAAiB;KAClB;IACD,cAAc,EAAE;QACd,eAAe;QACf,gBAAgB;QAChB,cAAc;QACd,wBAAwB;QACxB,gBAAgB;QAChB,iBAAiB;KAClB;IACD,cAAc,EAAE;QACd,eAAe;QACf,gBAAgB;QAChB,gBAAgB;QAChB,iBAAiB;QACjB,cAAc;QACd,wBAAwB;QACxB,wBAAwB;QACxB,gBAAgB;QAChB,iBAAiB;KAClB;IACD,UAAU,EAAE;QACV,eAAe;QACf,gBAAgB;QAChB,gBAAgB;QAChB,iBAAiB;QACjB,WAAW;QACX,cAAc;QACd,wBAAwB;QACxB,gBAAgB;QAChB,iBAAiB;KAClB;IACD,oBAAoB,EAAE;QACpB,eAAe;QACf,gBAAgB;QAChB,gBAAgB;QAChB,iBAAiB;QACjB,cAAc;QACd,wBAAwB;QACxB,wBAAwB;QACxB,gBAAgB;QAChB,iBAAiB;KAClB;IACD,YAAY,EAAE;QACZ,eAAe;QACf,gBAAgB;QAChB,iBAAiB;QACjB,gBAAgB;QAChB,iBAAiB;QACjB,cAAc;QACd,wBAAwB;QACxB,wBAAwB;QACxB,mBAAmB;QACnB,gBAAgB;QAChB,iBAAiB;KAClB;CACF,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,MAAwB;IACrD,OAAO,4BAA4B,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type PresetName = string;
|
|
2
|
+
export declare function listPresetMetas(): import("../presets/types.js").PresetMeta[];
|
|
3
|
+
export declare function isPresetName(value: string): value is PresetName;
|
|
4
|
+
export declare function getPresetMeta(name: string): import("../presets/types.js").PresetMeta | undefined;
|
|
5
|
+
export declare function buildPresetManifest(name: PresetName): import("../core/types.js").CoreTeam;
|
|
6
|
+
//# sourceMappingURL=presets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/team-templates/presets.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC,wBAAgB,eAAe,+CAE9B;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,UAAU,CAE/D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,wDAEzC;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,uCAEnD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { listPresets, loadPreset } from '../presets/index.js';
|
|
2
|
+
export function listPresetMetas() {
|
|
3
|
+
return listPresets();
|
|
4
|
+
}
|
|
5
|
+
export function isPresetName(value) {
|
|
6
|
+
return listPresets().some((preset) => preset.name === value);
|
|
7
|
+
}
|
|
8
|
+
export function getPresetMeta(name) {
|
|
9
|
+
return listPresets().find((preset) => preset.name === name);
|
|
10
|
+
}
|
|
11
|
+
export function buildPresetManifest(name) {
|
|
12
|
+
return loadPreset(name).team;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=presets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/team-templates/presets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAI9D,MAAM,UAAU,eAAe;IAC7B,OAAO,WAAW,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAgB;IAClD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { InstructionBlock } from '../core/instructions.js';
|
|
2
|
+
import type { CoreAgent, ModelAlias } from '../core/types.js';
|
|
3
|
+
import type { CanonicalTool } from '../renderers/claude/tools.js';
|
|
4
|
+
import type { CapabilityTraitName, InstructionFragmentName } from '../components/agent-fragments.js';
|
|
5
|
+
export type TeamRoleName = 'orchestrator' | 'planner' | 'researcher' | 'developer' | 'tester' | 'reviewer' | 'security-auditor';
|
|
6
|
+
export interface RoleTemplate {
|
|
7
|
+
name: TeamRoleName;
|
|
8
|
+
label: string;
|
|
9
|
+
description: string;
|
|
10
|
+
model: Exclude<ModelAlias, 'inherit'>;
|
|
11
|
+
capabilityTraits: CapabilityTraitName[];
|
|
12
|
+
allow?: CanonicalTool[];
|
|
13
|
+
deny?: CanonicalTool[];
|
|
14
|
+
instructionFragments: InstructionFragmentName[];
|
|
15
|
+
blocks?: InstructionBlock[];
|
|
16
|
+
skillDocs?: string[];
|
|
17
|
+
}
|
|
18
|
+
export declare function listRoleTemplates(): RoleTemplate[];
|
|
19
|
+
export declare function isTeamRoleName(value: string): value is TeamRoleName;
|
|
20
|
+
export declare function getRoleTemplate(name: TeamRoleName): RoleTemplate;
|
|
21
|
+
export declare function createRoleAgent(name: TeamRoleName, overrides?: Partial<CoreAgent>): CoreAgent;
|
|
22
|
+
//# sourceMappingURL=roles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../src/team-templates/roles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAGlE,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,kCAAkC,CAAC;AAM1C,MAAM,MAAM,YAAY,GACpB,cAAc,GACd,SAAS,GACT,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,UAAU,GACV,kBAAkB,CAAC;AAEvB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACtC,gBAAgB,EAAE,mBAAmB,EAAE,CAAC;IACxC,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;IACvB,oBAAoB,EAAE,uBAAuB,EAAE,CAAC;IAChD,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AA+ED,wBAAgB,iBAAiB,IAAI,YAAY,EAAE,CAElD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,YAAY,CAEnE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAEhE;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,YAAY,EAClB,SAAS,GAAE,OAAO,CAAC,SAAS,CAAM,GACjC,SAAS,CAgCX"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { CLAUDE_SKILL_MAP } from '../renderers/claude/skill-map.js';
|
|
2
|
+
import { mergeRuntimeWithTraits, resolveInstructionFragments, } from '../components/agent-fragments.js';
|
|
3
|
+
function block(kind, content, title) {
|
|
4
|
+
return { kind, content, title };
|
|
5
|
+
}
|
|
6
|
+
const ROLE_TEMPLATES = {
|
|
7
|
+
orchestrator: {
|
|
8
|
+
name: 'orchestrator',
|
|
9
|
+
label: 'Orchestrator',
|
|
10
|
+
description: 'Coordinates the team and delegates tasks',
|
|
11
|
+
model: 'opus',
|
|
12
|
+
capabilityTraits: ['base-read', 'delegation', 'no-file-edits', 'no-commands'],
|
|
13
|
+
instructionFragments: ['coordination-core', 'delegate-first'],
|
|
14
|
+
},
|
|
15
|
+
planner: {
|
|
16
|
+
name: 'planner',
|
|
17
|
+
label: 'Planner',
|
|
18
|
+
description: 'Analyzes codebase and produces implementation plans',
|
|
19
|
+
model: 'sonnet',
|
|
20
|
+
capabilityTraits: ['base-read', 'web-research', 'no-file-edits', 'no-commands'],
|
|
21
|
+
instructionFragments: ['planning-core', 'planning-read-only'],
|
|
22
|
+
},
|
|
23
|
+
researcher: {
|
|
24
|
+
name: 'researcher',
|
|
25
|
+
label: 'Researcher',
|
|
26
|
+
description: 'Researches topics using web access',
|
|
27
|
+
model: 'haiku',
|
|
28
|
+
capabilityTraits: ['base-read', 'web-research', 'no-file-edits', 'no-commands'],
|
|
29
|
+
instructionFragments: ['research-core', 'research-citation'],
|
|
30
|
+
},
|
|
31
|
+
developer: {
|
|
32
|
+
name: 'developer',
|
|
33
|
+
label: 'Developer',
|
|
34
|
+
description: 'Implements features, writes code and tests',
|
|
35
|
+
model: 'sonnet',
|
|
36
|
+
capabilityTraits: ['base-read', 'file-authoring', 'command-execution', 'no-web'],
|
|
37
|
+
instructionFragments: ['development-core', 'development-workflow'],
|
|
38
|
+
},
|
|
39
|
+
tester: {
|
|
40
|
+
name: 'tester',
|
|
41
|
+
label: 'Tester',
|
|
42
|
+
description: 'Runs tests and verifies functionality',
|
|
43
|
+
model: 'sonnet',
|
|
44
|
+
capabilityTraits: ['base-read', 'command-execution', 'no-file-edits'],
|
|
45
|
+
instructionFragments: ['tester-core', 'tester-read-only'],
|
|
46
|
+
},
|
|
47
|
+
reviewer: {
|
|
48
|
+
name: 'reviewer',
|
|
49
|
+
label: 'Reviewer',
|
|
50
|
+
description: 'Reviews code for quality and security issues',
|
|
51
|
+
model: 'sonnet',
|
|
52
|
+
capabilityTraits: ['base-read', 'command-execution', 'no-file-edits', 'no-web'],
|
|
53
|
+
instructionFragments: ['review-core', 'review-feedback'],
|
|
54
|
+
},
|
|
55
|
+
'security-auditor': {
|
|
56
|
+
name: 'security-auditor',
|
|
57
|
+
label: 'Security Auditor',
|
|
58
|
+
description: 'Audits code for security vulnerabilities',
|
|
59
|
+
model: 'sonnet',
|
|
60
|
+
capabilityTraits: ['base-read', 'command-execution', 'no-file-edits', 'no-web'],
|
|
61
|
+
instructionFragments: ['security-audit-core', 'security-audit-severity'],
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
const CUSTOM_TEAM_ROLE_ORDER = [
|
|
65
|
+
'orchestrator',
|
|
66
|
+
'planner',
|
|
67
|
+
'researcher',
|
|
68
|
+
'developer',
|
|
69
|
+
'tester',
|
|
70
|
+
'reviewer',
|
|
71
|
+
'security-auditor',
|
|
72
|
+
];
|
|
73
|
+
function cloneArray(value) {
|
|
74
|
+
return value ? [...value] : undefined;
|
|
75
|
+
}
|
|
76
|
+
export function listRoleTemplates() {
|
|
77
|
+
return CUSTOM_TEAM_ROLE_ORDER.map((name) => ROLE_TEMPLATES[name]);
|
|
78
|
+
}
|
|
79
|
+
export function isTeamRoleName(value) {
|
|
80
|
+
return value in ROLE_TEMPLATES;
|
|
81
|
+
}
|
|
82
|
+
export function getRoleTemplate(name) {
|
|
83
|
+
return ROLE_TEMPLATES[name];
|
|
84
|
+
}
|
|
85
|
+
export function createRoleAgent(name, overrides = {}) {
|
|
86
|
+
const template = getRoleTemplate(name);
|
|
87
|
+
const runtime = mergeRuntimeWithTraits({
|
|
88
|
+
model: template.model,
|
|
89
|
+
tools: cloneArray(template.allow),
|
|
90
|
+
disallowedTools: cloneArray(template.deny),
|
|
91
|
+
skillDocs: cloneArray(template.skillDocs),
|
|
92
|
+
}, template.capabilityTraits, CLAUDE_SKILL_MAP);
|
|
93
|
+
const overrideRuntime = overrides.runtime ?? {};
|
|
94
|
+
return {
|
|
95
|
+
id: name,
|
|
96
|
+
description: template.description,
|
|
97
|
+
runtime: {
|
|
98
|
+
...runtime,
|
|
99
|
+
...overrideRuntime,
|
|
100
|
+
tools: cloneArray(overrideRuntime.tools ?? runtime.tools),
|
|
101
|
+
disallowedTools: cloneArray(overrideRuntime.disallowedTools ?? runtime.disallowedTools),
|
|
102
|
+
skillDocs: cloneArray(overrideRuntime.skillDocs ?? runtime.skillDocs),
|
|
103
|
+
mcpServers: overrideRuntime.mcpServers?.map((server) => ({ ...server })),
|
|
104
|
+
},
|
|
105
|
+
instructions: overrides.instructions
|
|
106
|
+
? overrides.instructions.map((entry) => ({ ...entry }))
|
|
107
|
+
: resolveInstructionFragments(template.instructionFragments, template.blocks),
|
|
108
|
+
metadata: overrides.metadata
|
|
109
|
+
? {
|
|
110
|
+
handoffs: cloneArray(overrides.metadata.handoffs),
|
|
111
|
+
role: overrides.metadata.role,
|
|
112
|
+
template: overrides.metadata.template,
|
|
113
|
+
}
|
|
114
|
+
: undefined,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=roles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/team-templates/roles.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type { HookEntry, McpServerConfig, ModelAlias, PermissionMode, CoreAgent, CoreTeam as NormalizedTeamCastManifest, TeamPolicies, TeamSettings, ProjectConfig as CoreProjectConfig, PresetMetadata as CorePresetMetadata, } from '../core/types.js';
|
|
2
|
+
export type { InstructionBlock, InstructionBlockKind, } from '../core/instructions.js';
|
|
3
|
+
export { normalizeInstructionBlocks, renderInstructionBlocks, } from '../core/instructions.js';
|
|
4
|
+
export { AGENT_SKILLS, isAgentSkill } from '../core/skills.js';
|
|
5
|
+
export type { AgentSkill } from '../core/skills.js';
|
|
6
|
+
export type { CanonicalTool } from '../renderers/claude/tools.js';
|
|
7
|
+
export { CLAUDE_CODE_TOOLS, COMPAT_CLAUDE_CODE_TOOLS } from '../renderers/claude/tools.js';
|
|
8
|
+
export type { AgentConfigV2 as AgentConfig, AgentDefinition, TeamCastManifest, TeamCastManifestV1, TeamCastManifestV2, ClaudeAgentConfigV2 as ClaudeAgentConfig, ForgeAgentMetadataV2 as ForgeAgentMetadata, GenerationSettings, HooksConfig, LegacyAgentConfigV1 as LegacyAgentConfig, LegacyToolAlias, LegacyToolsConfig, LegacyToolsConfigDenyOnly, LegacyToolsConfigWithAllow, NetworkConfig, PermissionsConfig, PoliciesConfig, PresetMeta, ProjectConfig, SandboxConfig, Tool, } from '../manifest/types.js';
|
|
9
|
+
export { normalizeManifest, denormalizeManifest } from '../manifest/normalize.js';
|
|
10
|
+
export { isCanonicalAgentConfig, normalizeLegacyAgentConfig, getClaudeConfig, getForgeConfig, } from '../manifest/compat.js';
|
|
11
|
+
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/types/manifest.ts"],"names":[],"mappings":"AAOA,YAAY,EACV,SAAS,EACT,eAAe,EACf,UAAU,EACV,cAAc,EACd,SAAS,EACT,QAAQ,IAAI,0BAA0B,EACtC,YAAY,EACZ,YAAY,EACZ,aAAa,IAAI,iBAAiB,EAClC,cAAc,IAAI,kBAAkB,GACrC,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC/D,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIpD,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAK3F,YAAY,EACV,aAAa,IAAI,WAAW,EAC5B,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,IAAI,iBAAiB,EACxC,oBAAoB,IAAI,kBAAkB,EAC1C,kBAAkB,EAClB,WAAW,EACX,mBAAmB,IAAI,iBAAiB,EACxC,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,0BAA0B,EAC1B,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,aAAa,EACb,aAAa,EACb,IAAI,GACL,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAKlF,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,eAAe,EACf,cAAc,GACf,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Public barrel file for TeamCast types and utilities.
|
|
2
|
+
// Consumers should import from this path rather than from internal modules.
|
|
3
|
+
export { normalizeInstructionBlocks, renderInstructionBlocks, } from '../core/instructions.js';
|
|
4
|
+
// ── Skill types ──────────────────────────────────────────────────────────────
|
|
5
|
+
// Abstract capability skills that map to one or more CanonicalTools.
|
|
6
|
+
export { AGENT_SKILLS, isAgentSkill } from '../core/skills.js';
|
|
7
|
+
export { CLAUDE_CODE_TOOLS, COMPAT_CLAUDE_CODE_TOOLS } from '../renderers/claude/tools.js';
|
|
8
|
+
// ── Normalization utilities ──────────────────────────────────────────────────
|
|
9
|
+
// Functions to convert a raw TeamCastManifest into a fully-resolved CoreTeam,
|
|
10
|
+
// and back again for serialization.
|
|
11
|
+
export { normalizeManifest, denormalizeManifest } from '../manifest/normalize.js';
|
|
12
|
+
// ── Backward compatibility ───────────────────────────────────────────────────
|
|
13
|
+
// Helpers for consuming AgentDefinition values that may still be in legacy
|
|
14
|
+
// (V1) format. Use these when you cannot guarantee the manifest version.
|
|
15
|
+
export { isCanonicalAgentConfig, normalizeLegacyAgentConfig, getClaudeConfig, getForgeConfig, } from '../manifest/compat.js';
|
|
16
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/types/manifest.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,4EAA4E;AAwB5E,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,gFAAgF;AAChF,qEAAqE;AACrE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAM/D,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AA6B3F,gFAAgF;AAChF,8EAA8E;AAC9E,oCAAoC;AACpC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAElF,gFAAgF;AAChF,2EAA2E;AAC3E,yEAAyE;AACzE,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,eAAe,EACf,cAAc,GACf,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare const icons: {
|
|
2
|
+
success: string;
|
|
3
|
+
error: string;
|
|
4
|
+
warning: string;
|
|
5
|
+
info: string;
|
|
6
|
+
arrow: string;
|
|
7
|
+
bullet: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function printSuccess(label: string, detail?: string): void;
|
|
10
|
+
export declare function printError(label: string, detail?: string): void;
|
|
11
|
+
export declare function printWarning(label: string, detail?: string): void;
|
|
12
|
+
export declare function printInfo(label: string, detail?: string): void;
|
|
13
|
+
export declare function printHeader(text: string): void;
|
|
14
|
+
export declare function printDim(text: string): void;
|
|
15
|
+
export declare function printCommandSuccess(summary: string): void;
|
|
16
|
+
export declare function printBulletList(items: string[]): void;
|
|
17
|
+
export declare function printNextSteps(steps: string[]): void;
|
|
18
|
+
//# sourceMappingURL=chalk-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chalk-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/chalk-helpers.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;;;;;CAOjB,CAAC;AAEF,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAGjE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAG/D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAGjE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAG9D;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAI9C;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAGzD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAIrD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAOpD"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
export const icons = {
|
|
3
|
+
success: chalk.green('[ok]'),
|
|
4
|
+
error: chalk.red('[x]'),
|
|
5
|
+
warning: chalk.yellow('[!]'),
|
|
6
|
+
info: chalk.blue('[i]'),
|
|
7
|
+
arrow: chalk.dim('->'),
|
|
8
|
+
bullet: chalk.dim('-'),
|
|
9
|
+
};
|
|
10
|
+
export function printSuccess(label, detail) {
|
|
11
|
+
const msg = detail ? `${chalk.bold(label)} ${chalk.dim(detail)}` : chalk.bold(label);
|
|
12
|
+
console.log(` ${icons.success} ${msg}`);
|
|
13
|
+
}
|
|
14
|
+
export function printError(label, detail) {
|
|
15
|
+
const msg = detail ? `${chalk.bold(label)} ${chalk.red(detail)}` : chalk.bold(label);
|
|
16
|
+
console.log(` ${icons.error} ${msg}`);
|
|
17
|
+
}
|
|
18
|
+
export function printWarning(label, detail) {
|
|
19
|
+
const msg = detail ? `${chalk.bold(label)} ${chalk.yellow(detail)}` : chalk.bold(label);
|
|
20
|
+
console.log(` ${icons.warning} ${msg}`);
|
|
21
|
+
}
|
|
22
|
+
export function printInfo(label, detail) {
|
|
23
|
+
const msg = detail ? `${chalk.bold(label)} ${chalk.dim(detail)}` : chalk.bold(label);
|
|
24
|
+
console.log(` ${icons.info} ${msg}`);
|
|
25
|
+
}
|
|
26
|
+
export function printHeader(text) {
|
|
27
|
+
console.log('');
|
|
28
|
+
console.log(chalk.bold(text));
|
|
29
|
+
console.log('');
|
|
30
|
+
}
|
|
31
|
+
export function printDim(text) {
|
|
32
|
+
console.log(chalk.dim(text));
|
|
33
|
+
}
|
|
34
|
+
export function printCommandSuccess(summary) {
|
|
35
|
+
console.log('');
|
|
36
|
+
console.log(chalk.green(`${icons.success} ${summary}`));
|
|
37
|
+
}
|
|
38
|
+
export function printBulletList(items) {
|
|
39
|
+
for (const item of items) {
|
|
40
|
+
console.log(` ${icons.bullet} ${item}`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export function printNextSteps(steps) {
|
|
44
|
+
console.log('');
|
|
45
|
+
console.log(chalk.bold('Next steps'));
|
|
46
|
+
for (const [index, step] of steps.entries()) {
|
|
47
|
+
console.log(` ${chalk.dim(`${index + 1}.`)} ${step}`);
|
|
48
|
+
}
|
|
49
|
+
console.log('');
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=chalk-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chalk-helpers.js","sourceRoot":"","sources":["../../src/utils/chalk-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
type PromptValidator<T> = (value: T) => true | string | Promise<true | string>;
|
|
2
|
+
export interface PromptChoice<T extends string> {
|
|
3
|
+
name: string;
|
|
4
|
+
value: T;
|
|
5
|
+
checked?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function promptInput(options: {
|
|
8
|
+
message: string;
|
|
9
|
+
default?: string;
|
|
10
|
+
validate?: PromptValidator<string>;
|
|
11
|
+
}): Promise<string>;
|
|
12
|
+
export declare function promptConfirm(options: {
|
|
13
|
+
message: string;
|
|
14
|
+
default?: boolean;
|
|
15
|
+
}): Promise<boolean>;
|
|
16
|
+
export declare function promptList<T extends string>(options: {
|
|
17
|
+
message: string;
|
|
18
|
+
choices: PromptChoice<T>[];
|
|
19
|
+
default?: T;
|
|
20
|
+
}): Promise<T>;
|
|
21
|
+
export declare function promptCheckbox<T extends string>(options: {
|
|
22
|
+
message: string;
|
|
23
|
+
choices: PromptChoice<T>[];
|
|
24
|
+
default?: T[];
|
|
25
|
+
validate?: PromptValidator<T[]>;
|
|
26
|
+
}): Promise<T[]>;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"AAEA,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;AAE/E,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,MAAM;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,CAAC;IACT,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;CACpC,GAAG,OAAO,CAAC,MAAM,CAAC,CAYlB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,OAAO,CAAC,OAAO,CAAC,CAWnB;AAED,wBAAsB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,CAAC;CACb,GAAG,OAAO,CAAC,CAAC,CAAC,CAYb;AAED,wBAAsB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;IACd,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;CACjC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAcf"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import inquirer from 'inquirer';
|
|
2
|
+
export async function promptInput(options) {
|
|
3
|
+
const answers = await inquirer.prompt([
|
|
4
|
+
{
|
|
5
|
+
type: 'input',
|
|
6
|
+
name: 'value',
|
|
7
|
+
message: options.message,
|
|
8
|
+
default: options.default,
|
|
9
|
+
validate: options.validate,
|
|
10
|
+
},
|
|
11
|
+
]);
|
|
12
|
+
return answers.value;
|
|
13
|
+
}
|
|
14
|
+
export async function promptConfirm(options) {
|
|
15
|
+
const answers = await inquirer.prompt([
|
|
16
|
+
{
|
|
17
|
+
type: 'confirm',
|
|
18
|
+
name: 'value',
|
|
19
|
+
message: options.message,
|
|
20
|
+
default: options.default,
|
|
21
|
+
},
|
|
22
|
+
]);
|
|
23
|
+
return answers.value;
|
|
24
|
+
}
|
|
25
|
+
export async function promptList(options) {
|
|
26
|
+
const answers = await inquirer.prompt([
|
|
27
|
+
{
|
|
28
|
+
type: 'list',
|
|
29
|
+
name: 'value',
|
|
30
|
+
message: options.message,
|
|
31
|
+
choices: options.choices,
|
|
32
|
+
default: options.default,
|
|
33
|
+
},
|
|
34
|
+
]);
|
|
35
|
+
return answers.value;
|
|
36
|
+
}
|
|
37
|
+
export async function promptCheckbox(options) {
|
|
38
|
+
const answers = await inquirer.prompt([
|
|
39
|
+
{
|
|
40
|
+
type: 'checkbox',
|
|
41
|
+
name: 'value',
|
|
42
|
+
message: options.message,
|
|
43
|
+
choices: options.choices,
|
|
44
|
+
default: options.default,
|
|
45
|
+
validate: options.validate,
|
|
46
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- inquirer checkbox type mismatch: validate + generic choices
|
|
47
|
+
},
|
|
48
|
+
]);
|
|
49
|
+
return answers.value;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAUhC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAIjC;IACC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAoB;QACvD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B;KACF,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,KAAK,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAGnC;IACC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAqB;QACxD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB;KACF,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,KAAK,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAmB,OAIlD;IACC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAe;QAClD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB;KACF,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,KAAK,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAmB,OAKtD;IACC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAiB;QACpD;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,6HAA6H;SACvH;KACT,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,KAAK,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type SkillToolMap } from '../../core/skill-resolver.js';
|
|
2
|
+
import type { CoreTeam } from '../../core/types.js';
|
|
3
|
+
import type { ValidationResult } from '../types.js';
|
|
4
|
+
export declare function checkHandoffGraph(team: CoreTeam, skillMap: SkillToolMap): ValidationResult[];
|
|
5
|
+
//# sourceMappingURL=handoff-graph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handoff-graph.d.ts","sourceRoot":"","sources":["../../../src/validator/checks/handoff-graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAgCpD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,YAAY,GACrB,gBAAgB,EAAE,CA6CpB"}
|