teamcast 0.6.0 → 0.8.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/dist/application/build-generated-files.d.ts +1 -1
- package/dist/application/build-generated-files.d.ts.map +1 -1
- package/dist/application/build-generated-files.js +4 -3
- package/dist/application/build-generated-files.js.map +1 -1
- package/dist/application/team.d.ts +19 -14
- package/dist/application/team.d.ts.map +1 -1
- package/dist/application/team.js +125 -51
- package/dist/application/team.js.map +1 -1
- package/dist/application/validate-team.d.ts +2 -19
- package/dist/application/validate-team.d.ts.map +1 -1
- package/dist/application/validate-team.js +38 -48
- package/dist/application/validate-team.js.map +1 -1
- package/dist/cli/explain.d.ts +1 -0
- package/dist/cli/explain.d.ts.map +1 -1
- package/dist/cli/explain.js +20 -1
- package/dist/cli/explain.js.map +1 -1
- package/dist/cli/generate.js +1 -1
- package/dist/cli/generate.js.map +1 -1
- package/dist/cli/import.d.ts.map +1 -1
- package/dist/cli/import.js +74 -33
- package/dist/cli/import.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +30 -16
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/manage.d.ts.map +1 -1
- package/dist/cli/manage.js +230 -64
- package/dist/cli/manage.js.map +1 -1
- package/dist/cli/reset.d.ts.map +1 -1
- package/dist/cli/reset.js +36 -12
- package/dist/cli/reset.js.map +1 -1
- package/dist/cli/validate.d.ts.map +1 -1
- package/dist/cli/validate.js +6 -8
- package/dist/cli/validate.js.map +1 -1
- package/dist/core/types.d.ts +8 -7
- package/dist/core/types.d.ts.map +1 -1
- package/dist/diff/index.d.ts +2 -2
- package/dist/diff/index.d.ts.map +1 -1
- package/dist/diff/index.js +2 -2
- package/dist/diff/index.js.map +1 -1
- package/dist/explainer/index.d.ts +2 -1
- package/dist/explainer/index.d.ts.map +1 -1
- package/dist/explainer/index.js +21 -13
- package/dist/explainer/index.js.map +1 -1
- package/dist/generator/index.d.ts +2 -2
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +16 -5
- package/dist/generator/index.js.map +1 -1
- package/dist/importer/index.d.ts +1 -0
- package/dist/importer/index.d.ts.map +1 -1
- package/dist/importer/index.js +178 -16
- package/dist/importer/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/manifest/defaults.d.ts +1 -2
- package/dist/manifest/defaults.d.ts.map +1 -1
- package/dist/manifest/defaults.js +12 -12
- package/dist/manifest/defaults.js.map +1 -1
- package/dist/manifest/normalize.d.ts +8 -4
- package/dist/manifest/normalize.d.ts.map +1 -1
- package/dist/manifest/normalize.js +84 -136
- package/dist/manifest/normalize.js.map +1 -1
- package/dist/manifest/reader.d.ts +2 -2
- package/dist/manifest/reader.d.ts.map +1 -1
- package/dist/manifest/reader.js +1 -2
- package/dist/manifest/reader.js.map +1 -1
- package/dist/manifest/types.d.ts +17 -65
- package/dist/manifest/types.d.ts.map +1 -1
- package/dist/manifest/types.js.map +1 -1
- package/dist/manifest/writer.d.ts +2 -2
- package/dist/manifest/writer.d.ts.map +1 -1
- package/dist/manifest/writer.js +2 -3
- package/dist/manifest/writer.js.map +1 -1
- package/dist/presets/index.d.ts +2 -2
- package/dist/presets/index.d.ts.map +1 -1
- package/dist/presets/index.js +7 -2
- package/dist/presets/index.js.map +1 -1
- package/dist/presets/types.d.ts +2 -2
- package/dist/presets/types.d.ts.map +1 -1
- package/dist/renderers/claude/agent-md.js +1 -1
- package/dist/renderers/claude/agent-md.js.map +1 -1
- package/dist/renderers/claude/docs.js +1 -1
- package/dist/renderers/claude/docs.js.map +1 -1
- package/dist/renderers/claude/index.d.ts +2 -0
- package/dist/renderers/claude/index.d.ts.map +1 -1
- package/dist/renderers/claude/index.js +11 -0
- package/dist/renderers/claude/index.js.map +1 -1
- package/dist/renderers/claude/tools.d.ts +0 -1
- package/dist/renderers/claude/tools.d.ts.map +1 -1
- package/dist/renderers/claude/tools.js +0 -2
- package/dist/renderers/claude/tools.js.map +1 -1
- package/dist/renderers/codex/index.d.ts +7 -0
- package/dist/renderers/codex/index.d.ts.map +1 -0
- package/dist/renderers/codex/index.js +97 -0
- package/dist/renderers/codex/index.js.map +1 -0
- package/dist/renderers/codex/skill-map.d.ts +8 -0
- package/dist/renderers/codex/skill-map.d.ts.map +1 -0
- package/dist/renderers/codex/skill-map.js +29 -0
- package/dist/renderers/codex/skill-map.js.map +1 -0
- package/dist/renderers/codex/tools.d.ts +3 -0
- package/dist/renderers/codex/tools.d.ts.map +1 -0
- package/dist/renderers/codex/tools.js +8 -0
- package/dist/renderers/codex/tools.js.map +1 -0
- package/dist/renderers/index.d.ts +3 -0
- package/dist/renderers/index.d.ts.map +1 -1
- package/dist/renderers/index.js +7 -0
- package/dist/renderers/index.js.map +1 -1
- package/dist/renderers/registry.d.ts +8 -0
- package/dist/renderers/registry.d.ts.map +1 -0
- package/dist/renderers/registry.js +22 -0
- package/dist/renderers/registry.js.map +1 -0
- package/dist/renderers/target-context.d.ts +14 -0
- package/dist/renderers/target-context.d.ts.map +1 -0
- package/dist/renderers/target-context.js +2 -0
- package/dist/renderers/target-context.js.map +1 -0
- package/dist/team-templates/presets.d.ts +1 -1
- package/dist/team-templates/presets.d.ts.map +1 -1
- package/dist/team-templates/roles.d.ts +6 -6
- package/dist/team-templates/roles.d.ts.map +1 -1
- package/dist/team-templates/roles.js +3 -4
- package/dist/team-templates/roles.js.map +1 -1
- package/dist/types/manifest.d.ts +8 -5
- package/dist/types/manifest.d.ts.map +1 -1
- package/dist/types/manifest.js +7 -9
- package/dist/types/manifest.js.map +1 -1
- package/dist/validator/checks/handoff-graph.d.ts.map +1 -1
- package/dist/validator/checks/handoff-graph.js +3 -2
- package/dist/validator/checks/handoff-graph.js.map +1 -1
- package/dist/validator/checks/instruction-blocks.d.ts.map +1 -1
- package/dist/validator/checks/instruction-blocks.js +3 -1
- package/dist/validator/checks/instruction-blocks.js.map +1 -1
- package/dist/validator/index.d.ts +2 -2
- package/dist/validator/index.d.ts.map +1 -1
- package/dist/validator/index.js +4 -8
- package/dist/validator/index.js.map +1 -1
- package/dist/wizard/index.d.ts +2 -0
- package/dist/wizard/index.d.ts.map +1 -1
- package/dist/wizard/index.js +25 -10
- package/dist/wizard/index.js.map +1 -1
- package/dist/wizard/steps/agent-customization.d.ts +2 -1
- package/dist/wizard/steps/agent-customization.d.ts.map +1 -1
- package/dist/wizard/steps/agent-customization.js +67 -29
- package/dist/wizard/steps/agent-customization.js.map +1 -1
- package/dist/wizard/steps/confirm-generate.d.ts +2 -2
- package/dist/wizard/steps/confirm-generate.d.ts.map +1 -1
- package/dist/wizard/steps/confirm-generate.js +2 -2
- package/dist/wizard/steps/confirm-generate.js.map +1 -1
- package/dist/wizard/steps/custom-team.d.ts +3 -2
- package/dist/wizard/steps/custom-team.d.ts.map +1 -1
- package/dist/wizard/steps/custom-team.js +3 -3
- package/dist/wizard/steps/custom-team.js.map +1 -1
- package/dist/wizard/steps/target-selection.d.ts +6 -0
- package/dist/wizard/steps/target-selection.d.ts.map +1 -0
- package/dist/wizard/steps/target-selection.js +27 -0
- package/dist/wizard/steps/target-selection.js.map +1 -0
- package/dist/wizard/steps/team-selection.d.ts +4 -2
- package/dist/wizard/steps/team-selection.d.ts.map +1 -1
- package/dist/wizard/steps/team-selection.js +6 -6
- package/dist/wizard/steps/team-selection.js.map +1 -1
- package/package.json +16 -3
- package/schema/teamcast.schema.json +34 -155
- package/templates/presets/feature-team.yaml +80 -47
- package/templates/presets/research-and-build.yaml +66 -41
- package/templates/presets/secure-dev.yaml +87 -56
- package/templates/presets/solo-dev.yaml +23 -14
- package/dist/cli/manifest-validation.d.ts +0 -13
- package/dist/cli/manifest-validation.d.ts.map +0 -1
- package/dist/cli/manifest-validation.js +0 -38
- package/dist/cli/manifest-validation.js.map +0 -1
- package/dist/generator/renderers/agent-md.d.ts +0 -5
- package/dist/generator/renderers/agent-md.d.ts.map +0 -1
- package/dist/generator/renderers/agent-md.js +0 -66
- package/dist/generator/renderers/agent-md.js.map +0 -1
- package/dist/generator/renderers/agents-md.d.ts +0 -4
- package/dist/generator/renderers/agents-md.d.ts.map +0 -1
- package/dist/generator/renderers/agents-md.js +0 -86
- package/dist/generator/renderers/agents-md.js.map +0 -1
- package/dist/generator/renderers/claude-md.d.ts +0 -4
- package/dist/generator/renderers/claude-md.d.ts.map +0 -1
- package/dist/generator/renderers/claude-md.js +0 -68
- package/dist/generator/renderers/claude-md.js.map +0 -1
- package/dist/generator/renderers/codex-config.d.ts +0 -4
- package/dist/generator/renderers/codex-config.d.ts.map +0 -1
- package/dist/generator/renderers/codex-config.js +0 -145
- package/dist/generator/renderers/codex-config.js.map +0 -1
- package/dist/generator/renderers/codex-skill-md.d.ts +0 -4
- package/dist/generator/renderers/codex-skill-md.d.ts.map +0 -1
- package/dist/generator/renderers/codex-skill-md.js +0 -47
- package/dist/generator/renderers/codex-skill-md.js.map +0 -1
- package/dist/generator/renderers/settings-json.d.ts +0 -5
- package/dist/generator/renderers/settings-json.d.ts.map +0 -1
- package/dist/generator/renderers/settings-json.js +0 -100
- package/dist/generator/renderers/settings-json.js.map +0 -1
- package/dist/generator/renderers/skill-md.d.ts +0 -4
- package/dist/generator/renderers/skill-md.d.ts.map +0 -1
- package/dist/generator/renderers/skill-md.js +0 -44
- package/dist/generator/renderers/skill-md.js.map +0 -1
- package/dist/generator/state.d.ts +0 -14
- package/dist/generator/state.d.ts.map +0 -1
- package/dist/generator/state.js +0 -76
- package/dist/generator/state.js.map +0 -1
- package/dist/generator/targets/claude.d.ts +0 -3
- package/dist/generator/targets/claude.d.ts.map +0 -1
- package/dist/generator/targets/claude.js +0 -24
- package/dist/generator/targets/claude.js.map +0 -1
- package/dist/generator/targets/codex.d.ts +0 -3
- package/dist/generator/targets/codex.d.ts.map +0 -1
- package/dist/generator/targets/codex.js +0 -19
- package/dist/generator/targets/codex.js.map +0 -1
- package/dist/generator/targets/index.d.ts +0 -4
- package/dist/generator/targets/index.d.ts.map +0 -1
- package/dist/generator/targets/index.js +0 -10
- package/dist/generator/targets/index.js.map +0 -1
- package/dist/generator/targets/types.d.ts +0 -8
- package/dist/generator/targets/types.d.ts.map +0 -1
- package/dist/generator/targets/types.js +0 -2
- package/dist/generator/targets/types.js.map +0 -1
- package/dist/manifest/compat.d.ts +0 -6
- package/dist/manifest/compat.d.ts.map +0 -1
- package/dist/manifest/compat.js +0 -56
- package/dist/manifest/compat.js.map +0 -1
package/dist/renderers/index.js
CHANGED
|
@@ -1,2 +1,9 @@
|
|
|
1
|
+
export { registerTarget, getTarget, getDefaultTarget, setDefaultTargetName } from './registry.js';
|
|
2
|
+
import { registerTarget } from './registry.js';
|
|
3
|
+
import { createClaudeTarget } from './claude/index.js';
|
|
4
|
+
import { createCodexTarget } from './codex/index.js';
|
|
5
|
+
registerTarget('claude', createClaudeTarget);
|
|
6
|
+
registerTarget('codex', createCodexTarget);
|
|
1
7
|
export { ClaudeRenderer } from './claude/index.js';
|
|
8
|
+
export { CodexRenderer } from './codex/index.js';
|
|
2
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/renderers/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/renderers/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAElG,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,cAAc,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;AAC7C,cAAc,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { TargetContext } from './target-context.js';
|
|
2
|
+
export type TargetFactory = () => TargetContext;
|
|
3
|
+
export declare function registerTarget(name: string, factory: TargetFactory): void;
|
|
4
|
+
export declare function getTarget(name: string): TargetContext;
|
|
5
|
+
export declare function getDefaultTarget(): TargetContext;
|
|
6
|
+
export declare function setDefaultTargetName(name: string): void;
|
|
7
|
+
export declare function getRegisteredTargetNames(): string[];
|
|
8
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/renderers/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC;AAKhD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAEzE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAMrD;AAED,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEvD;AAED,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAEnD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const registry = new Map();
|
|
2
|
+
let defaultTargetName = 'claude';
|
|
3
|
+
export function registerTarget(name, factory) {
|
|
4
|
+
registry.set(name, factory);
|
|
5
|
+
}
|
|
6
|
+
export function getTarget(name) {
|
|
7
|
+
const factory = registry.get(name);
|
|
8
|
+
if (!factory) {
|
|
9
|
+
throw new Error(`Target renderer not found: ${name}`);
|
|
10
|
+
}
|
|
11
|
+
return factory();
|
|
12
|
+
}
|
|
13
|
+
export function getDefaultTarget() {
|
|
14
|
+
return getTarget(defaultTargetName);
|
|
15
|
+
}
|
|
16
|
+
export function setDefaultTargetName(name) {
|
|
17
|
+
defaultTargetName = name;
|
|
18
|
+
}
|
|
19
|
+
export function getRegisteredTargetNames() {
|
|
20
|
+
return Array.from(registry.keys());
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/renderers/registry.ts"],"names":[],"mappings":"AAIA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;AAClD,IAAI,iBAAiB,GAAG,QAAQ,CAAC;AAEjC,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,OAAsB;IACjE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,OAAO,EAAE,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,SAAS,CAAC,iBAAiB,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,iBAAiB,GAAG,IAAI,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PlatformRenderer } from './types.js';
|
|
2
|
+
import type { AgentSkill } from '../core/skills.js';
|
|
3
|
+
import type { SkillToolMap } from '../core/skill-resolver.js';
|
|
4
|
+
export interface TargetContext {
|
|
5
|
+
name: string;
|
|
6
|
+
renderer: PlatformRenderer;
|
|
7
|
+
skillMap: SkillToolMap;
|
|
8
|
+
knownTools: string[];
|
|
9
|
+
reverseMapTools?: (tools: string[]) => {
|
|
10
|
+
skills: AgentSkill[];
|
|
11
|
+
remainingTools: string[];
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=target-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target-context.d.ts","sourceRoot":"","sources":["../../src/renderers/target-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,EAAE,YAAY,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK;QAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAAC,cAAc,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC3F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target-context.js","sourceRoot":"","sources":["../../src/renderers/target-context.ts"],"names":[],"mappings":""}
|
|
@@ -2,5 +2,5 @@ export type PresetName = string;
|
|
|
2
2
|
export declare function listPresetMetas(): import("../presets/types.js").PresetMeta[];
|
|
3
3
|
export declare function isPresetName(value: string): value is PresetName;
|
|
4
4
|
export declare function getPresetMeta(name: string): import("../presets/types.js").PresetMeta | undefined;
|
|
5
|
-
export declare function buildPresetManifest(name: PresetName): import("../
|
|
5
|
+
export declare function buildPresetManifest(name: PresetName): import("../manifest/types.js").TeamCastManifest;
|
|
6
6
|
//# sourceMappingURL=presets.d.ts.map
|
|
@@ -1 +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,
|
|
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,mDAEnD"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import type { InstructionBlock } from '../core/instructions.js';
|
|
2
|
-
import type { CoreAgent
|
|
3
|
-
import type {
|
|
2
|
+
import type { CoreAgent } from '../core/types.js';
|
|
3
|
+
import type { TargetContext } from '../renderers/target-context.js';
|
|
4
4
|
import type { CapabilityTraitName, InstructionFragmentName } from '../components/agent-fragments.js';
|
|
5
5
|
export type TeamRoleName = 'orchestrator' | 'planner' | 'researcher' | 'developer' | 'tester' | 'reviewer' | 'security-auditor';
|
|
6
6
|
export interface RoleTemplate {
|
|
7
7
|
name: TeamRoleName;
|
|
8
8
|
label: string;
|
|
9
9
|
description: string;
|
|
10
|
-
model
|
|
10
|
+
model?: string;
|
|
11
11
|
capabilityTraits: CapabilityTraitName[];
|
|
12
|
-
allow?:
|
|
13
|
-
deny?:
|
|
12
|
+
allow?: string[];
|
|
13
|
+
deny?: string[];
|
|
14
14
|
instructionFragments: InstructionFragmentName[];
|
|
15
15
|
blocks?: InstructionBlock[];
|
|
16
16
|
skillDocs?: string[];
|
|
@@ -18,5 +18,5 @@ export interface RoleTemplate {
|
|
|
18
18
|
export declare function listRoleTemplates(): RoleTemplate[];
|
|
19
19
|
export declare function isTeamRoleName(value: string): value is TeamRoleName;
|
|
20
20
|
export declare function getRoleTemplate(name: TeamRoleName): RoleTemplate;
|
|
21
|
-
export declare function createRoleAgent(name: TeamRoleName, overrides?: Partial<CoreAgent>): CoreAgent;
|
|
21
|
+
export declare function createRoleAgent(name: TeamRoleName, targetContext: TargetContext, overrides?: Partial<CoreAgent>): CoreAgent;
|
|
22
22
|
//# sourceMappingURL=roles.d.ts.map
|
|
@@ -1 +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,
|
|
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,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,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,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,mBAAmB,EAAE,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,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,aAAa,EAAE,aAAa,EAC5B,SAAS,GAAE,OAAO,CAAC,SAAS,CAAM,GACjC,SAAS,CAgCX"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { CLAUDE_SKILL_MAP } from '../renderers/claude/skill-map.js';
|
|
2
1
|
import { mergeRuntimeWithTraits, resolveInstructionFragments, } from '../components/agent-fragments.js';
|
|
3
2
|
function block(kind, content, title) {
|
|
4
3
|
return { kind, content, title };
|
|
@@ -82,14 +81,14 @@ export function isTeamRoleName(value) {
|
|
|
82
81
|
export function getRoleTemplate(name) {
|
|
83
82
|
return ROLE_TEMPLATES[name];
|
|
84
83
|
}
|
|
85
|
-
export function createRoleAgent(name, overrides = {}) {
|
|
84
|
+
export function createRoleAgent(name, targetContext, overrides = {}) {
|
|
86
85
|
const template = getRoleTemplate(name);
|
|
87
86
|
const runtime = mergeRuntimeWithTraits({
|
|
88
|
-
model: template.model,
|
|
87
|
+
model: targetContext.name === 'claude' ? template.model : undefined,
|
|
89
88
|
tools: cloneArray(template.allow),
|
|
90
89
|
disallowedTools: cloneArray(template.deny),
|
|
91
90
|
skillDocs: cloneArray(template.skillDocs),
|
|
92
|
-
}, template.capabilityTraits,
|
|
91
|
+
}, template.capabilityTraits, targetContext.skillMap);
|
|
93
92
|
const overrideRuntime = overrides.runtime ?? {};
|
|
94
93
|
return {
|
|
95
94
|
id: name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/team-templates/roles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/team-templates/roles.ts"],"names":[],"mappings":"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"}
|
package/dist/types/manifest.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
export type { HookEntry, McpServerConfig,
|
|
1
|
+
export type { HookEntry, McpServerConfig, PermissionMode, ReasoningEffort, CoreAgent, CoreTeam as NormalizedTeamCastManifest, TeamPolicies, TeamSettings, ProjectConfig as CoreProjectConfig, PresetMetadata as CorePresetMetadata, } from '../core/types.js';
|
|
2
2
|
export type { InstructionBlock, InstructionBlockKind, } from '../core/instructions.js';
|
|
3
3
|
export { normalizeInstructionBlocks, renderInstructionBlocks, } from '../core/instructions.js';
|
|
4
4
|
export { AGENT_SKILLS, isAgentSkill } from '../core/skills.js';
|
|
5
5
|
export type { AgentSkill } from '../core/skills.js';
|
|
6
|
+
export type { TargetContext } from '../renderers/target-context.js';
|
|
7
|
+
export { getTarget, getDefaultTarget } from '../renderers/registry.js';
|
|
6
8
|
export type { CanonicalTool } from '../renderers/claude/tools.js';
|
|
7
|
-
export { CLAUDE_CODE_TOOLS
|
|
8
|
-
export type {
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
9
|
+
export { CLAUDE_CODE_TOOLS } from '../renderers/claude/tools.js';
|
|
10
|
+
export type { CodexTool } from '../renderers/codex/tools.js';
|
|
11
|
+
export { CODEX_TOOLS } from '../renderers/codex/tools.js';
|
|
12
|
+
export type { AgentConfig, ForgeAgentMetadata, GenerationSettings, HooksConfig, NetworkConfig, PermissionsConfig, PoliciesConfig, PresetMeta, ProjectConfig, SandboxConfig, TeamCastManifest, } from '../manifest/types.js';
|
|
13
|
+
export { normalizeManifest, denormalizeTarget, createManifestForTarget, replaceManifestTarget, } from '../manifest/normalize.js';
|
|
11
14
|
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/types/manifest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/types/manifest.ts"],"names":[],"mappings":"AAMA,YAAY,EACV,SAAS,EACT,eAAe,EACf,cAAc,EACd,eAAe,EACf,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;AAGpD,YAAY,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGvE,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGjE,YAAY,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAI1D,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC"}
|
package/dist/types/manifest.js
CHANGED
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
// Public barrel file for TeamCast types and utilities.
|
|
2
2
|
// Consumers should import from this path rather than from internal modules.
|
|
3
3
|
export { normalizeInstructionBlocks, renderInstructionBlocks, } from '../core/instructions.js';
|
|
4
|
-
//
|
|
5
|
-
// Abstract capability skills that map to
|
|
4
|
+
// Skill types
|
|
5
|
+
// Abstract capability skills that map to renderer-specific tool tokens.
|
|
6
6
|
export { AGENT_SKILLS, isAgentSkill } from '../core/skills.js';
|
|
7
|
-
export {
|
|
8
|
-
|
|
7
|
+
export { getTarget, getDefaultTarget } from '../renderers/registry.js';
|
|
8
|
+
export { CLAUDE_CODE_TOOLS } from '../renderers/claude/tools.js';
|
|
9
|
+
export { CODEX_TOOLS } from '../renderers/codex/tools.js';
|
|
10
|
+
// Normalization utilities
|
|
9
11
|
// Functions to convert a raw TeamCastManifest into a fully-resolved CoreTeam,
|
|
10
12
|
// and back again for serialization.
|
|
11
|
-
export { normalizeManifest,
|
|
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';
|
|
13
|
+
export { normalizeManifest, denormalizeTarget, createManifestForTarget, replaceManifestTarget, } from '../manifest/normalize.js';
|
|
16
14
|
//# sourceMappingURL=manifest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/types/manifest.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,4EAA4E;
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/types/manifest.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,4EAA4E;AAuB5E,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,cAAc;AACd,wEAAwE;AACxE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAK/D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAIvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAIjE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAkB1D,0BAA0B;AAC1B,8EAA8E;AAC9E,oCAAoC;AACpC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC"}
|
|
@@ -1 +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,
|
|
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,CA8CpB"}
|
|
@@ -43,12 +43,13 @@ export function checkHandoffGraph(team, skillMap) {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
for (const [agentId, agent] of Object.entries(team.agents)) {
|
|
46
|
-
if ((
|
|
46
|
+
if ((skillMap.delegate?.length ?? 0) > 0 &&
|
|
47
|
+
(agent.metadata?.handoffs?.length ?? 0) > 0 &&
|
|
47
48
|
!agentHasSkill(agent.runtime.tools ?? [], 'delegate', skillMap)) {
|
|
48
49
|
results.push({
|
|
49
50
|
severity: 'error',
|
|
50
51
|
category: 'Handoff graph',
|
|
51
|
-
message: `Agent "${agentId}" has handoffs but "
|
|
52
|
+
message: `Agent "${agentId}" has handoffs but "delegate" is not in its tools list`,
|
|
52
53
|
agent: agentId,
|
|
53
54
|
});
|
|
54
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handoff-graph.js","sourceRoot":"","sources":["../../../src/validator/checks/handoff-graph.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"handoff-graph.js","sourceRoot":"","sources":["../../../src/validator/checks/handoff-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instruction-blocks.d.ts","sourceRoot":"","sources":["../../../src/validator/checks/instruction-blocks.ts"],"names":[],"mappings":"AACA,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;AAEpD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,GAAG,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"instruction-blocks.d.ts","sourceRoot":"","sources":["../../../src/validator/checks/instruction-blocks.ts"],"names":[],"mappings":"AACA,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;AAEpD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,GAAG,gBAAgB,EAAE,CAmDjG"}
|
|
@@ -31,7 +31,9 @@ export function checkInstructionBlocks(team, skillMap) {
|
|
|
31
31
|
}
|
|
32
32
|
seenKinds.add(block.kind);
|
|
33
33
|
}
|
|
34
|
-
if (
|
|
34
|
+
if ((skillMap.delegate?.length ?? 0) > 0 &&
|
|
35
|
+
seenKinds.has('delegation') &&
|
|
36
|
+
!agentHasSkill(agent.runtime.tools ?? [], 'delegate', skillMap)) {
|
|
35
37
|
results.push({
|
|
36
38
|
severity: 'warning',
|
|
37
39
|
category: 'Instruction blocks',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instruction-blocks.js","sourceRoot":"","sources":["../../../src/validator/checks/instruction-blocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAqB,MAAM,8BAA8B,CAAC;AAIhF,MAAM,UAAU,sBAAsB,CAAC,IAAc,EAAE,QAAsB;IAC3E,MAAM,OAAO,GAAuB,EAAE,CAAC;IAEvC,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QAEpC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,OAAO,CAAC,IAAI,CAAC;oBACX,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,oBAAoB;oBAC9B,OAAO,EAAE,UAAU,OAAO,0CAA0C,KAAK,CAAC,IAAI,GAAG;oBACjF,KAAK,EAAE,OAAO;iBACf,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC;oBACX,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,oBAAoB;oBAC9B,OAAO,EAAE,UAAU,OAAO,mBAAmB,KAAK,CAAC,IAAI,qBAAqB;oBAC5E,KAAK,EAAE,OAAO;iBACf,CAAC,CAAC;YACL,CAAC;YAED,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC;oBACX,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,oBAAoB;oBAC9B,OAAO,EAAE,UAAU,OAAO,uBAAuB,KAAK,CAAC,IAAI,8EAA8E;oBACzI,KAAK,EAAE,OAAO;iBACf,CAAC,CAAC;YACL,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"instruction-blocks.js","sourceRoot":"","sources":["../../../src/validator/checks/instruction-blocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAqB,MAAM,8BAA8B,CAAC;AAIhF,MAAM,UAAU,sBAAsB,CAAC,IAAc,EAAE,QAAsB;IAC3E,MAAM,OAAO,GAAuB,EAAE,CAAC;IAEvC,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QAEpC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,OAAO,CAAC,IAAI,CAAC;oBACX,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,oBAAoB;oBAC9B,OAAO,EAAE,UAAU,OAAO,0CAA0C,KAAK,CAAC,IAAI,GAAG;oBACjF,KAAK,EAAE,OAAO;iBACf,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC;oBACX,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,oBAAoB;oBAC9B,OAAO,EAAE,UAAU,OAAO,mBAAmB,KAAK,CAAC,IAAI,qBAAqB;oBAC5E,KAAK,EAAE,OAAO;iBACf,CAAC,CAAC;YACL,CAAC;YAED,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC;oBACX,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,oBAAoB;oBAC9B,OAAO,EAAE,UAAU,OAAO,uBAAuB,KAAK,CAAC,IAAI,8EAA8E;oBACzI,KAAK,EAAE,OAAO;iBACf,CAAC,CAAC;YACL,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,IACE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;YACpC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;YAC3B,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,EAC/D,CAAC;YACD,OAAO,CAAC,IAAI,CAAC;gBACX,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,oBAAoB;gBAC9B,OAAO,EAAE,UAAU,OAAO,0EAA0E;gBACpG,KAAK,EAAE,OAAO;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { TeamCastManifest } from '../manifest/types.js';
|
|
2
1
|
import type { CoreTeam } from '../core/types.js';
|
|
3
2
|
import type { ValidationResult, Checker } from './types.js';
|
|
4
|
-
|
|
3
|
+
import type { TargetContext } from '../renderers/target-context.js';
|
|
4
|
+
export declare function runValidation(team: CoreTeam, targetContext: TargetContext, extraCheckers?: Checker[]): ValidationResult[];
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validator/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validator/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAO5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAYpE,wBAAgB,aAAa,CAC3B,IAAI,EAAE,QAAQ,EACd,aAAa,EAAE,aAAa,EAC5B,aAAa,CAAC,EAAE,OAAO,EAAE,GACxB,gBAAgB,EAAE,CAWpB"}
|
package/dist/validator/index.js
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
import { isCoreTeam } from '../core/guards.js';
|
|
2
|
-
import { applyDefaults } from '../manifest/defaults.js';
|
|
3
1
|
import { checkHandoffGraph } from './checks/handoff-graph.js';
|
|
4
2
|
import { checkToolConflicts } from './checks/tool-conflicts.js';
|
|
5
3
|
import { checkRoleWarnings } from './checks/role-warnings.js';
|
|
6
4
|
import { checkSecurityBaseline } from './checks/security-baseline.js';
|
|
7
5
|
import { checkInstructionBlocks } from './checks/instruction-blocks.js';
|
|
8
6
|
import { evaluatePolicyAssertions } from '../core/policy-evaluator.js';
|
|
9
|
-
|
|
10
|
-
const skillMap = CLAUDE_SKILL_MAP;
|
|
11
|
-
const CHECKERS = [
|
|
7
|
+
const CHECKERS = (skillMap) => [
|
|
12
8
|
(team) => checkHandoffGraph(team, skillMap),
|
|
13
9
|
(team) => checkToolConflicts(team, skillMap),
|
|
14
10
|
(team) => checkRoleWarnings(team, skillMap),
|
|
@@ -16,10 +12,10 @@ const CHECKERS = [
|
|
|
16
12
|
(team) => checkInstructionBlocks(team, skillMap),
|
|
17
13
|
(team) => evaluatePolicyAssertions(team, skillMap),
|
|
18
14
|
];
|
|
19
|
-
export function runValidation(
|
|
20
|
-
const team = isCoreTeam(input) ? input : applyDefaults(input);
|
|
15
|
+
export function runValidation(team, targetContext, extraCheckers) {
|
|
21
16
|
const results = [];
|
|
22
|
-
const
|
|
17
|
+
const baseCheckers = CHECKERS(targetContext.skillMap);
|
|
18
|
+
const checkers = extraCheckers ? [...baseCheckers, ...extraCheckers] : baseCheckers;
|
|
23
19
|
for (const checker of checkers) {
|
|
24
20
|
results.push(...checker(team));
|
|
25
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validator/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validator/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAIvE,MAAM,QAAQ,GAAG,CAAC,QAAsB,EAAa,EAAE,CAAC;IACtD,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC;IAC3C,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC;IAC5C,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC;IAC3C,qBAAqB;IACrB,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC;IAChD,CAAC,IAAI,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC;CACnD,CAAC;AAEF,MAAM,UAAU,aAAa,CAC3B,IAAc,EACd,aAA4B,EAC5B,aAAyB;IAEzB,MAAM,OAAO,GAAuB,EAAE,CAAC;IAEvC,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IAEpF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/wizard/index.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import type { InitTargetSelection } from '../application/team.js';
|
|
1
2
|
export interface WizardOptions {
|
|
2
3
|
cwd: string;
|
|
3
4
|
skipConfirm?: boolean;
|
|
4
5
|
nonInteractive?: boolean;
|
|
6
|
+
targetSelection?: InitTargetSelection;
|
|
5
7
|
}
|
|
6
8
|
export declare function runWizard(options: WizardOptions): Promise<void>;
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wizard/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wizard/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAoBlE,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,mBAAmB,CAAC;CACvC;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAmErE"}
|
package/dist/wizard/index.js
CHANGED
|
@@ -3,33 +3,48 @@ import { detectProjectContext } from '../detector/index.js';
|
|
|
3
3
|
import { writeManifest } from '../manifest/writer.js';
|
|
4
4
|
import { generate } from '../generator/index.js';
|
|
5
5
|
import { stepProjectContext } from './steps/project-context.js';
|
|
6
|
+
import { stepTargetSelection } from './steps/target-selection.js';
|
|
6
7
|
import { stepTeamSelection } from './steps/team-selection.js';
|
|
7
8
|
import { stepConfirmGenerate } from './steps/confirm-generate.js';
|
|
8
9
|
import { stepAgentCustomization } from './steps/agent-customization.js';
|
|
10
|
+
import { normalizeManifest, replaceManifestTarget } from '../manifest/normalize.js';
|
|
11
|
+
import { getTarget, getRegisteredTargetNames } from '../renderers/registry.js';
|
|
9
12
|
import { evaluateTeam, teamHasBlockingIssues, printManifestValidation } from '../application/validate-team.js';
|
|
10
13
|
import { printSuccess, printError, printHeader, printCommandSuccess, printNextSteps, } from '../utils/chalk-helpers.js';
|
|
11
14
|
export async function runWizard(options) {
|
|
12
|
-
const { cwd, skipConfirm = false, nonInteractive = false } = options;
|
|
15
|
+
const { cwd, skipConfirm = false, nonInteractive = false, targetSelection } = options;
|
|
13
16
|
printHeader('Init');
|
|
14
|
-
console.log(chalk.dim('Design your
|
|
17
|
+
console.log(chalk.dim('Design your agent team'));
|
|
15
18
|
console.log('');
|
|
16
19
|
const ctx = detectProjectContext(cwd);
|
|
17
20
|
const projectPartial = await stepProjectContext(ctx, undefined, { nonInteractive });
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
const selection = await stepTargetSelection({
|
|
22
|
+
nonInteractive,
|
|
23
|
+
defaultSelection: targetSelection,
|
|
24
|
+
});
|
|
25
|
+
let rawManifest = await stepTeamSelection(projectPartial, selection, { nonInteractive });
|
|
26
|
+
for (const targetName of getRegisteredTargetNames()) {
|
|
27
|
+
const rawManifestRecord = rawManifest;
|
|
28
|
+
if (!rawManifestRecord[targetName]) {
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
const targetContext = getTarget(targetName);
|
|
32
|
+
const normalizedTeam = normalizeManifest(rawManifest, targetContext);
|
|
33
|
+
const customizedTeam = await stepAgentCustomization(normalizedTeam, targetContext, { nonInteractive });
|
|
34
|
+
rawManifest = replaceManifestTarget(rawManifest, targetName, customizedTeam);
|
|
35
|
+
}
|
|
36
|
+
const validation = evaluateTeam(rawManifest);
|
|
22
37
|
if (teamHasBlockingIssues(validation)) {
|
|
23
38
|
printManifestValidation(validation);
|
|
24
39
|
process.exit(1);
|
|
25
40
|
}
|
|
26
|
-
const confirmed = await stepConfirmGenerate(
|
|
41
|
+
const confirmed = await stepConfirmGenerate(rawManifest, cwd, skipConfirm || nonInteractive);
|
|
27
42
|
if (!confirmed) {
|
|
28
43
|
console.log(chalk.dim('\nAborted. No files were written.'));
|
|
29
44
|
return;
|
|
30
45
|
}
|
|
31
46
|
try {
|
|
32
|
-
writeManifest(
|
|
47
|
+
writeManifest(rawManifest, cwd);
|
|
33
48
|
}
|
|
34
49
|
catch (err) {
|
|
35
50
|
printError('Failed to write teamcast.yaml', String(err));
|
|
@@ -37,7 +52,7 @@ export async function runWizard(options) {
|
|
|
37
52
|
}
|
|
38
53
|
let files;
|
|
39
54
|
try {
|
|
40
|
-
files = generate(
|
|
55
|
+
files = generate(rawManifest, { cwd });
|
|
41
56
|
}
|
|
42
57
|
catch (err) {
|
|
43
58
|
printError('Generation failed', String(err));
|
|
@@ -47,7 +62,7 @@ export async function runWizard(options) {
|
|
|
47
62
|
for (const file of files) {
|
|
48
63
|
printSuccess(file.path);
|
|
49
64
|
}
|
|
50
|
-
printCommandSuccess(`Agent team initialized for project "${
|
|
65
|
+
printCommandSuccess(`Agent team initialized for project "${rawManifest.project.name}"`);
|
|
51
66
|
printManifestValidation(validation);
|
|
52
67
|
printNextSteps([
|
|
53
68
|
`${chalk.bold('teamcast explain')} - view the team structure`,
|
package/dist/wizard/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/wizard/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/G,OAAO,EACL,YAAY,EACZ,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,cAAc,GACf,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/wizard/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { CoreTeam } from '../../core/types.js';
|
|
2
|
-
|
|
2
|
+
import type { TargetContext } from '../../renderers/target-context.js';
|
|
3
|
+
export declare function stepAgentCustomization(team: CoreTeam, targetContext: TargetContext, options?: {
|
|
3
4
|
nonInteractive?: boolean;
|
|
4
5
|
}): Promise<CoreTeam>;
|
|
5
6
|
//# sourceMappingURL=agent-customization.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-customization.d.ts","sourceRoot":"","sources":["../../../src/wizard/steps/agent-customization.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"agent-customization.d.ts","sourceRoot":"","sources":["../../../src/wizard/steps/agent-customization.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,qBAAqB,CAAC;AAErE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAyEvE,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,QAAQ,EACd,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GACrC,OAAO,CAAC,QAAQ,CAAC,CAsDnB"}
|